Visual Studio 2005 içinde ADO.NET 2.0 desteği olduğundan VB.Net kullanarak makalennin öngördüğü şekilde bir örnek yaptım .
Visual basic 2005 kodu aşğıda olduğu gibi.
Codegear Delphi for NET 2007 ' yi indiremediğimden deneme yapamadım.
sonuç olarak Visual studio 2005 ile Ms SQL SERVER 2005 üzerinde bulunan tablolarda olan değişiklikler anında farkedilebiliyor.
Fakat INSERT,UPDATE,DELETE olayları farketmiyor tüm değişiklikler anında bildiriliyor.
Aşağıdaki kodu çalıştırmadan önce Sql server üzerinde şu komutu çalıştırmak gerekiyor.
Kod: Tümünü seç
USE master;
GO
ALTER DATABASE databaseadi SET ENABLE_BROKER;
GO
Kod: Tümünü seç
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Dim Baglanti As SqlConnection = Nothing
Dim Komut As SqlCommand = Nothing
Dim Uyar As SqlDependency = Nothing
Dim MyAdapter As SqlDataAdapter
Dim DataTablo As DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Baglanti = New SqlConnection("Password=1285;Persist Security Info=True;User ID=sa;Initial Catalog=Restoran;Data Source=laptop\sqlexpress")
If Baglanti.State = ConnectionState.Closed Then
Baglanti.Open()
End If
Komut = New SqlCommand("select sira,kod,salon,masa,konuk,adi from dbo.siparis", Baglanti)
Uyar = New SqlDependency(Komut)
SqlDependency.Start("Data Source=laptop\sqlexpress;initial catalog=Restoran;Password=1285;Persist Security Info=True;User ID=sa;")
AddHandler Uyar.OnChange, AddressOf Uyar_OnChange
MyAdapter = New SqlDataAdapter(Komut)
DataTablo = New DataTable()
MyAdapter.Fill(DataTablo)
DGVeriler.DataSource = DataTablo
End Sub
Private Sub Uyar_OnChange(ByVal sender As Object, ByVal e As SqlNotificationEventArgs)
MessageBox.Show("YENI VERILER EKLENDI...TAZELEME YAPIN")
End Sub
End Class