PDA

View Full Version : سوال: به روزرسانی یک گرید ویو به محض آپدیت یک جدول در پایگاه داده



8702073
یک شنبه 03 اسفند 1393, 08:54 صبح
با سلام به همه دوستان
من یه سوالی داشتم. من یه سرور دارم که اطلاعاتی را در یکی از جدولام ذخیره میکنه. میخوام در قسمت برنامه کلاینت به محض اینکه این جدول در پایگاه داده آپدیت شد دیتا گرید من نیز محتوای خود را به روزرسانی کند. البته نمیخوام از تایمر استفاده کنم که دائما در حال چک کردن جدول مورد نظر در پایگاه داده باشه و به محض تغییر دیتا گرید من رو آپدیت کنه.کسی میدونه که چگونه میشه به محض آپدیت شدن جدول مورد نظر در پایگاه داده یک رخداد بالا بیاد و دیتا گرید را به روز کنه؟؟؟؟؟؟؟؟؟؟
اگر لینکی هم باشه برای آموزش ممنون میشم
با تشکر فراوان

SabaSabouhi
یک شنبه 03 اسفند 1393, 10:35 صبح
با سلام به همه دوستان
من یه سوالی داشتم. من یه سرور دارم که اطلاعاتی را در یکی از جدولام ذخیره میکنه. میخوام در قسمت برنامه کلاینت به محض اینکه این جدول در پایگاه داده آپدیت شد دیتا گرید من نیز محتوای خود را به روزرسانی کند. البته نمیخوام از تایمر استفاده کنم که دائما در حال چک کردن جدول مورد نظر در پایگاه داده باشه و به محض تغییر دیتا گرید من رو آپدیت کنه.کسی میدونه که چگونه میشه به محض آپدیت شدن جدول مورد نظر در پایگاه داده یک رخداد بالا بیاد و دیتا گرید را به روز کنه؟؟؟؟؟؟؟؟؟؟
اگر لینکی هم باشه برای آموزش ممنون میشم
با تشکر فراوان

سلام
SQL Server از نسخه‌ی 2005 به بعد این امکان رو گذاشته که شما یه SqlDependency داشته باشی که با به روز شدن یه جدول به Notification ارسال می‌کنه
و می‌تونی این کار رو انجام بدی. اما خودم این کار رو نکردم، این لینک‌ها رو نگاه کن:
http://stackoverflow.com/questions/3723551/how-can-i-notify-my-program-when-the-database-has-been-updated
http://stackoverflow.com/questions/5288434/how-to-monitor-sql-server-table-changes-by-using-c

صبا صبوحی

8702073
یک شنبه 03 اسفند 1393, 10:57 صبح
خیلی ممنونم بله درسته ولی یه سوال من نمیخوام هر بار که دیتا بیس به روز میشه پیغام بیاد. اگه یک جدول خاصی به روز شد پیغامی از اس کیو ال داده بشه تا بتوان دیتا گرید را به روز کرد. آیا این امکان هست در sqlDependency??? کسی منبع درست درمانی از این قابلیت داره؟؟/ واقعا بهش نیاز دارم
با احترام

SabaSabouhi
یک شنبه 03 اسفند 1393, 11:52 صبح
خیلی ممنونم بله درسته ولی یه سوال من نمیخوام هر بار که دیتا بیس به روز میشه پیغام بیاد. اگه یک جدول خاصی به روز شد پیغامی از اس کیو ال داده بشه تا بتوان دیتا گرید را به روز کرد. آیا این امکان هست در sqlDependency??? کسی منبع درست درمانی از این قابلیت داره؟؟/ واقعا بهش نیاز دارم
با احترام

سلام
بله، ظاهراً اینطوری هست که شما یه query بهش می‌دی، هر وقت مقدار خروجی این query تغییر کنه به شما خبر می‌ده.
درباره منبع هم، اون دو تا لینک رو نگاه نکردی؟

صبا صبوحی

8702073
یک شنبه 03 اسفند 1393, 12:55 عصر
بله نگاه کردم خیلی چیزای دیگه هم دیدم خیلی چیز زیادی دستگیرم نشده !!! :افسرده::افسرده:

SabaSabouhi
یک شنبه 03 اسفند 1393, 14:31 عصر
بله نگاه کردم خیلی چیزای دیگه هم دیدم خیلی چیز زیادی دستگیرم نشده !!! :افسرده::افسرده:

سلام
متاسفانه الان وقت ندارم که این رو تست کنم و توضیح بیشتر بدم. اما دو راه داری
1. جستجو کنی تا مطلب گویاتری رو پیدا کنی.
2. از تایمر استفاده کنی. تایمر اگر زمانش منطقی باشه، کلاً چیز بدی نیست.

صبا صبوحی

ali_md110
یک شنبه 03 اسفند 1393, 19:11 عصر
سلام
میتونید از ObservableCollection استفاده کنید با کمک واسط INotifyPropertyChanged
کالکشن ObservableCollection به محض اضافه کردن یا حذف کردن و ویرایش شی در موجودیت های برنامه خودشو به روز میکنه

https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged%28v=v s.110%29.aspx