تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
رقابة قاعدة البيانات (التحديث التلقائي للبيانات ) SqlDependency
#1
السلام عليكم اخواني الاعزاء .
اقدم لكم مثال عن التحديث التلقائي لقاعدة البيانات عبر تقنيه SqlDependency وهذه تستخدم دون توقيت 

عمل المتغيرات وجملة الاتصالات بالطريقة التي تناسبك (هنا وضع الجمله لكي يتناسب مع المثال وسهولة ا لاستخدام)
كود :
 Private Delegate Sub UICallback()

   Private Const CS As String = "Data Source=.;Initial Catalog=mydb;Integrated Security=True"
   Private Const QuerySelect As String = "SELECT id,nameFROM my_tab "

كود :
 Private Sub StartChecking()

       Dim cn As SqlClient.SqlConnection = Nothing
       cn = New SqlClient.SqlConnection(CS)

       Dim dad As New SqlClient.SqlDataAdapter(QuerySelect, cn)

       Dim dependency As New SqlClient.SqlDependency(dad.SelectCommand)

       AddHandler dependency.OnChange, AddressOf Me.OnNotificationChange

       SqlClient.SqlDependency.Start(CS)

       Dim ds As New DataSet
       dad.Fill(ds)
   End Sub

   Private Sub OnNotificationChange(ByVal sender As Object, ByVal e As SqlClient.SqlNotificationEventArgs)




       Dim dependency As SqlDependency = DirectCast(sender, SqlDependency)

       RemoveHandler dependency.OnChange, AddressOf Me.OnNotificationChange

       Me.Invoke(New UICallback(AddressOf FillGrid))
       StartChecking()

   End Sub
' تحميل البيانات
   Private Sub FillGrid()
       Using conn As New SqlConnection(CS)
           conn.Open()
           Using cm As New SqlCommand(QuerySelect, conn)
               Using adapter As New SqlDataAdapter(cm)
                   Dim ds As New DataSet
                   adapter.Fill(ds)
                   DataGridView1.DataSource = ds.Tables(0)
               End Using
           End Using
       End Using
   End Sub

   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       FillGrid()
       StartChecking()
   End Sub
'عند اغلاق النافذه
   Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
       SqlClient.SqlDependency.Stop(CS)
   End Sub

ALTER DATABASE "your db" SET ENABLE_BROKER with immediate rollback;

هناك ملاحظة يجب ان يتم التعديل على قاعدة البيانات وتفعيل خاصية
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Video [درس فيديو] حل مشكلة تغيير مسار قاعدة البيانات مع تقارير كريستال ريبورت رمضان272 1 2,473 25-10-24, 04:53 AM
آخر رد: رمضان272
  [VB.NET] التحقق من تكرار البيانات بعد الاستيراد من اكسيل loay775 1 538 01-04-24, 06:32 AM
آخر رد: loay775
  [مشروع] حل مشكلة الترقيم التلقائي بعد حذف سجل معين mohammed alnour 9 14,648 13-01-23, 04:16 PM
آخر رد: اسلام الكبابى
  [شرح] اتصال بقاعدة بيانات اكسيس , اضافة بيان , تعديل بيان , حذف بيان , عرض البيانات . ahmed salam 25 41,212 23-02-22, 06:04 PM
آخر رد: رضوان الجماعي
  [مقال] إضافة خاصية التحجيم التلقائي - AutoSize - إلى أداة مربع النص - TextBox sooriaty03 10 12,796 21-03-21, 09:53 PM
آخر رد: عبد الهادي بهاب
  دمج قاعدة بيانات SQL Server 2008 مع المشروع بالـ VBNET snipercoder 4 8,642 12-11-20, 06:01 PM
آخر رد: lion4
  [درس فيديو] كيف تحول اي قاعدة بيانات اكسس الى SQL aljzazy 3 3,756 17-04-20, 09:27 PM
آخر رد: الوايلي
  [درس فيديو] كيف تحول اي قاعدة بيانات اكسس الى mysql aljzazy 0 2,573 10-04-20, 09:05 PM
آخر رد: aljzazy
  ضغط للبيانات أم ضغط وتشفير للبيانات silverlight 4 4,224 30-03-20, 05:45 AM
آخر رد: Haytham Malek
  [VB.NET] كيفية استخدام اداوات ديف اكسبريس devexpressلادخال السجلات الى قاعدة بيانات نوع اكسس 13adam123 0 2,898 29-03-20, 12:50 PM
آخر رد: 13adam123

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم