我对使用 C#(但不是 C# 本身)和数据绑定的整个概念使用数据库非常陌生,所以请记住这一点。如果这会影响到这一点,我也在使用 SQL Server CE。
我正在尝试使用用 VS2010 构建的强类型数据集来访问 SQL Server CE 数据库,并将 WinForms 控件绑定到它以显示数据。我可以很好地绑定控件,它们显示当前在数据库中的数据没有问题。我还可以将新数据插入数据库,如果我重新启动应用程序,插入的数据会显示在控件中(特别是 ComboBox,但我将来会使用更多)。
问题是在我重新启动应用程序之前,新行根本不会出现,我对数据绑定的理解是控件应该自动更新自己。我已经阅读了有关 INotifyPropertyChanged 的信息,但我不确定在这里使用它是否正确,如果是,我如何将它用于行插入?
我正在像这样绑定组合框:
DataSet.tagDataTable tagdata = new tagTableAdapter().GetData();
comboBox1.DataSource = tagdata;
comboBox1.DisplayMember = tagdata.tagnameColumn.ColumnName;
comboBox1.ValueMember = tagdata.tagIDColumn.ColumnName;
并像这样插入:
Guid g = Guid.NewGuid();
new tagTableAdapter().Insert(g, Name)
其中 Name 只是从文本框中提取的字符串。
谢谢。
编辑:我应该提到我正在使用的数据库表称为标签,有两列,tagID 和 tagname。tagID 是 GUID,tagname 是 varchar。