mtahmasebi
جمعه 09 تیر 1391, 17:59 عصر
دوستان سلام
من در نظر دارم توی اپلیکیشنم از قابلیت Query Notification استفاده کنم یه برنامه نوشتم که ظاهرا طبق اصول هست و موقع دیباگ کردن هم ایرادی گرفته نمیشه اما کار نمیکنه. در واقع تنها مشکلش اینه که موقع اضافه شدن رکورد جدید به بانک برنامه واکنشی نشون نمیده!
هرکاری کردم جواب نداد، دوستان با تجربه لطفا کمک کنند. ایراد کار کجاست؟:افسرده:
ضمنا از sql server 2008 , VS2008 استفاده می کنم.
این هم کد نوشته شده:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Security.Permissions;
namespace QueryNotification2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private bool CanRequestNotifications()
{
// In order to use the callback feature of the
// SqlDependency, the application must have
// the SqlClientPermission permission.
try
{
SqlClientPermission perm =
new SqlClientPermission(System.Security.Permissions.Pe rmissionState.Unrestricted);
perm.Demand();
return true;
}
catch
{
return false;
}
}
private void Form1_Load(object sender, EventArgs e)
{
button1.Enabled = CanRequestNotifications();
}
private void button1_Click(object sender, EventArgs e)
{
string connstr = "Data Source=(local);Initial Catalog=PardisDB;UID=PardisUser1;Pwd=12345678";
string myCMD = "Select * from testTBL";
SqlConnection conn = new SqlConnection(connstr);
SqlCommand cmd = new SqlCommand(myCMD, conn);
SqlDependency depend = new SqlDependency(cmd);
SqlDependency.Start(connstr);
depend.OnChange += new OnChangeEventHandler(depend_OnChange);
conn.Open();
SqlDataReader datareader = cmd.ExecuteReader();
while (datareader.Read())
listBox1.Items.Add(datareader[0].ToString());
}
static void depend_OnChange(object caller, SqlNotificationEventArgs e)
{
MessageBox.Show("ok");
}
}
}
من در نظر دارم توی اپلیکیشنم از قابلیت Query Notification استفاده کنم یه برنامه نوشتم که ظاهرا طبق اصول هست و موقع دیباگ کردن هم ایرادی گرفته نمیشه اما کار نمیکنه. در واقع تنها مشکلش اینه که موقع اضافه شدن رکورد جدید به بانک برنامه واکنشی نشون نمیده!
هرکاری کردم جواب نداد، دوستان با تجربه لطفا کمک کنند. ایراد کار کجاست؟:افسرده:
ضمنا از sql server 2008 , VS2008 استفاده می کنم.
این هم کد نوشته شده:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Security.Permissions;
namespace QueryNotification2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private bool CanRequestNotifications()
{
// In order to use the callback feature of the
// SqlDependency, the application must have
// the SqlClientPermission permission.
try
{
SqlClientPermission perm =
new SqlClientPermission(System.Security.Permissions.Pe rmissionState.Unrestricted);
perm.Demand();
return true;
}
catch
{
return false;
}
}
private void Form1_Load(object sender, EventArgs e)
{
button1.Enabled = CanRequestNotifications();
}
private void button1_Click(object sender, EventArgs e)
{
string connstr = "Data Source=(local);Initial Catalog=PardisDB;UID=PardisUser1;Pwd=12345678";
string myCMD = "Select * from testTBL";
SqlConnection conn = new SqlConnection(connstr);
SqlCommand cmd = new SqlCommand(myCMD, conn);
SqlDependency depend = new SqlDependency(cmd);
SqlDependency.Start(connstr);
depend.OnChange += new OnChangeEventHandler(depend_OnChange);
conn.Open();
SqlDataReader datareader = cmd.ExecuteReader();
while (datareader.Read())
listBox1.Items.Add(datareader[0].ToString());
}
static void depend_OnChange(object caller, SqlNotificationEventArgs e)
{
MessageBox.Show("ok");
}
}
}