View Full Version : سوال: keep connection
mohsen_solhjoo
سه شنبه 15 اردیبهشت 1388, 00:39 صبح
سلام
من یک برنامه نوشتم که از دیتا بیس SQL یک سری اطلاعات رو نمایش می ده
مشکل من اینه که می خوام اگر کابل شبکه کاربرم قطع شد پیغام error روی صفحه ظاهر نشه
و برنامه تا برقراری مجدد ارتباط منتظر بمونه
ممنون می شم کمکم کنید
vcldeveloper
سه شنبه 15 اردیبهشت 1388, 12:03 عصر
می تونید خصوصیت LockType را بر روی ltBatchOptimistic تنظیم کنید. در این صورت، بعد از دریافت اطلاعات از سرور، تغییراتی که روی اطلاعات اعمال می کنید، بلافاصله به سرور ارسال نمی شود. هر زمان که بخواهید تغییرات به سرور ارسال شود، باید متد ApplyUpdate، یا در ADO، متد UpdateBatch را فراخوانی کنید.
دقت داشته باشید که در ADO می توانید بعد از دریافت اطلاعات از سرور، ارتباط دیتاست با Connection را قطع کنید:
بعد از اینکه اتصال به سرور برقرار شد، و داده ها دریافت شدند:
AdoTable1.Connection := nil;
البته هر وقت که اتصال به سرور برقرار شد و خواستید تغییرات را به سرور ارسال کنید، باید دوباره به Connection مقدار بدید.
mohsen_solhjoo
سه شنبه 15 اردیبهشت 1388, 14:30 عصر
سلام
ممنون از راه حل تون
مشکل من اینه که این سیستم های من کاربر ندارن و نمی خوام روی اونها error دیده بشه
برای اینکه پیام اشکال ظاهر نشه باید چکار کنم
ممنون
vcldeveloper
سه شنبه 15 اردیبهشت 1388, 20:05 عصر
برای اینکه پیام اشکال ظاهر نشه باید چکار کنم
این چه ارتباطی با موضوع تاپیک داره؟!
mohsen_solhjoo
سه شنبه 15 اردیبهشت 1388, 20:55 عصر
آخه من هر 30 ثانیه یک بار دارم requery می کنم
وقتی ارتباطم قطع می شه برنامه پیام connection fail می ده که منو مجبور می کنه یک ریموت بزنم و برنامه رو یک بار باز و بسته کنم
می خواستم برنامه طوری باشه که اگر به دیتابیس دسترسی نداشت پیام نده و تو حالت انتظار برای برقراری دوباره ارتباط بمونه
یا یک راهی باشه که دیتا ست من اطلاعات رو روی خودش نگه داره تا دوباره ارتباط برقرار بشه
ببخشید اگه منظورمو خوب نگفتم
vcldeveloper
سه شنبه 15 اردیبهشت 1388, 23:01 عصر
آخه من هر 30 ثانیه یک بار دارم requery می کنم
دقت کنید که Connect شدن و Disconnect شدن از بانک اطلاعاتی به دفعات در این فاصله زمانی کوتاه سربار بسیار زیادی داره، و اگر در این فاصله Connection را فعال نگهدارید بهتر از آن هست که دائما قطع و وصل کنید.
می خواستم برنامه طوری باشه که اگر به دیتابیس دسترسی نداشت پیام نده و تو حالت انتظار برای برقراری دوباره ارتباط بمونه
کدی که برای Connect نوشتید را در یک بلوک try-except قرار بدید. این باعث میشه که قبل از نمایش خطا فرصت عکس العمل در برنامه را داشته باشید، و در صورت لزوم از نمایش آن جلوگیری کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.