C# 将DataGridView绑定到数据库中的表
我想将DataGridView绑定到数据库中的一个表。我已经找到了一些关于这个的话题,但我无法让它发挥作用。也许我遗漏了什么 我正在构建一个“监视器”,希望在其中查看特定表的任何数据库更改。因此,在将数据加载到DataGridView之后,该特定表中的任何更改都应该传播到DataGridView 看看我做了什么:C# 将DataGridView绑定到数据库中的表,c#,datagridview,bindingsource,mdf,C#,Datagridview,Bindingsource,Mdf,我想将DataGridView绑定到数据库中的一个表。我已经找到了一些关于这个的话题,但我无法让它发挥作用。也许我遗漏了什么 我正在构建一个“监视器”,希望在其中查看特定表的任何数据库更改。因此,在将数据加载到DataGridView之后,该特定表中的任何更改都应该传播到DataGridView 看看我做了什么: SqlDataAdapter daTab; DataTable dTable; private void button1_Click(object sende
SqlDataAdapter daTab;
DataTable dTable;
private void button1_Click(object sender, EventArgs e)
{
string s;
s = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\tempDB\Database1.mdf;Integrated Security=True";
SqlConnection conn= new SqlConnection(s);
conn.Open();
daTab = new SqlDataAdapter("Select * From tab", conn);
dTable = new DataTable();
daTab.Fill(dTable);
BindingSource bSource = new BindingSource();
bSource.DataSource = dTable;
dgv1.DataSource = bSource;
}
但它只在我运行时更新DataViewGrid
daTab.Fill(dTable);
因此,我可能有两个选择:1)让它正常工作(这就是为什么我需要你的帮助)或2)设置计时器并运行
daTab.Fill(dTable)代码>在某个时间间隔。我特别关注选项1)。因此,我非常感谢您提供的任何帮助。听起来您正在使用SQL Server。如果是这样,请查看SqlDependency类。您可以为此类的OnChange事件创建一个委托,并收到更改通知,然后将更改传播到GridView。以下是关于该主题的一篇好文章,并附有一些示例:
谢谢!!我创建了SqlDependency
,但现在我遇到了SQLServerServiceBroker问题。我试图做一个alterdatabasetempsetenable\u代理代码>但它在数据库字中给出了错误。看起来SQLServerCompact不支持ALTERDATABASE
。听起来,在设置enable_broker时,您需要某种独占锁。不知道这是不是你的问题?这是另一个用户的enable_broker问题,但奇怪的是,您的数据库word本身出现了错误。