PDA

View Full Version : حرفه ای: راهکار بروز رسانی اطلاعات تغیر یافته



alimooghashang
جمعه 03 خرداد 1392, 10:17 صبح
سلام
من یه برنامه نوشتم که باید اطلاعات رو از دیتابیس sql server روی سرور که تحت شبکه اس بخونه و نمایش بده
حالا این وسط یه سری اطلاعات هست که سمت سرور تغییر میکنه
من اطلاعات رو داخل grid نمایش میدم
حالا مشکل چیه
اینه که فقط یک سری از اطلاعات تغییر میکنه و نیازی نیست همیشه 1000 رکورد آپدیت بشه
سوالم اینه که آیا برای آپدیت اطلاعات روی برنامه هی باید به دیتابیس (با یک ترد) مراجعه بشه و اطلاعات خونده بشه و چک بشه که تغییر کردن یا نه؟ اینطوری که خیلی زمانبره!!!
راهکار چیه که اطلاعات به محض اینکه سمت سرور تغییر کرد داخل برنامه ها هم بصورت بلادرنگ (یا زمان کمتری نسبت به مراجعه به دیتابیس و بررسی اطلاعات) داخل برنامه ی سمت کلاینت هم تغییر بکنن؟
ممنون

tooraj_azizi_1035
جمعه 03 خرداد 1392, 11:09 صبح
Using SqlDependency in a Windows Application (http://msdn.microsoft.com/en-US/library/a52dhwx7%28v=vs.80%29.aspx)

alimooghashang
جمعه 03 خرداد 1392, 11:18 صبح
قبلا سرچ زدم داخل نت و به همین رسیدم منتتها نتونستم پیاده سازیش کنم
و یه سوال
ایا این روش برای چندین کلاینت کار میده؟

tooraj_azizi_1035
جمعه 03 خرداد 1392, 17:17 عصر
Unlimited.
كدي كه تو لينك هست كارت رو راه ميندازه با كجاش مشكل داري؟

alimooghashang
جمعه 03 خرداد 1392, 20:35 عصر
یه برنامه ی دمو دارید بدید من تست کنم؟ الان باید یه کد ساده بنویسم و فردا با سرور تست کنم ببینم این حل میشه یا نه
قبلا که نوشتم کار نداد، شاید اشتباه کردم جای اش رو
ممنون

alimooghashang
جمعه 03 خرداد 1392, 20:38 عصر
و یک مساله دیگه
من با مراجعه و adapter.fill دیتا تیبل ام رو پر میکنم و روی grid نمایش میدم
همین باعث میشه که grid یک بار چشمک بزنه
با این روش دیگه این مشکل پیش نمیاد؟
یعنی بدون اینکه کاربر متوجه بشه اطلاعات بروز میشه؟
ممنون

alimooghashang
جمعه 03 خرداد 1392, 22:29 عصر
Unlimited.
كدي كه تو لينك هست كارت رو راه ميندازه با كجاش مشكل داري؟
من این کد رو تست زدم و یه چیزی رو داخل کد فهمیدم که این کد لوپ میشه و مدام داره تکرار میشه و یه جورایی CPU usage در حد از کار افتادن تقریبی برنامه بالا میره خب چه کاریه من میخوام من هی مدام به دیتابیس سر نزنم و همه ی دیتا رو بخونم اگر تغیری داخل دیتابیس انجام شد از یه طریقی به برنامه اعلام بشه که اون تغییر انجام بشه نه اینکه من هی مدام به دیتابیس سر بزنم و همه ی اطلاعات رو کامل بخونم که ببینم کدوم یکی تغییر کرده ممنون

alimooghashang
جمعه 03 خرداد 1392, 22:47 عصر
من این اسکریپت رو پیدا کردم ولی نمیشه برای چند برنامه استفاده کرد و همیشه اخرین برنامه ای که خودش رو معرفی میکنه برای همون اطلاعات میره

http://www.codeproject.com/Articles/18130/Advanced-SQL-2005-SQLNotificationRequest-Functiona

alimooghashang
چهارشنبه 08 خرداد 1392, 23:25 عصر
یعنی من سوالی که دارم اینه که تا بحال کسی نشده توی پروژه هاش بخواد اطلاعات رو از سرور بصورت realtime بخونه؟

hackman
شنبه 11 خرداد 1392, 23:00 عصر
منم دقیقا همین مشکل رو دارم

اگه کسی راه حلی داره پیشنهاد بده

alimooghashang
یک شنبه 12 خرداد 1392, 08:36 صبح
یعنی خیلی جالبه
یعنی تا حالا کسی تو پروژه هاش این کار رو نکرده؟

ali_habibi1384
یک شنبه 12 خرداد 1392, 09:06 صبح
يه نمونه قبلا آپلود كردم توي همين سايت. موضوعش هم در مورد برنامه چت بود كه با sqlDependency بود و SQL

alimooghashang
یک شنبه 12 خرداد 1392, 12:46 عصر
ماکه هرچی نمونه ی sqldependency پیدا کردیم کار نداد!
لطف میکنید نمونه خودتون رو اینجا بذارید؟
ممنون