我是SQL的新手,我对在我编写的程序中使用数据库的最佳方法有点不确定。
我的程序将“注释”保存到SQL Server CE数据库。注释行包含自动递增ID (int)
,title (string)
和注释文本,该文本作为ntext
存储在数据库中。
我有SqlCeDataAdapter
将ID和标题行加载到绑定到DataTable
的{{1}},因此用户可以看到备注列表并选择一个。我没有加载文本行,因为我认为它可能很大,所以它不需要一直在内存中。
DataGrid
问题是当我添加新笔记时。我应该更新string ConnectionString = "DataSource = " + @"..\\..\\Notes.sdf";
DatabaseConnection = new SqlCeConnection(ConnectionString);
DatabaseConnection.Open();
SqlCeCommand SelectCommand = new SqlCeCommand("SELECT ID, title FROM notes_id", DatabaseConnection);
DatabaseAdapter = new SqlCeDataAdapter(SelectCommand);
NotesDataTable = new DataTable();
DatabaseAdapter.Fill(NotesDataTable);
MainWindowDataView = NotesDataTable.DefaultView;
dataGridNotes.DataContext = MainWindowDataView;
并使用它来更新SQL数据库吗?或者我应该直接更新SQL数据库并使用它来重新加载DataTable
来更新它吗?
更新DataTable
的问题在于我没有专栏文章。如果我插入一个新行,我不知道如何引用该新行来添加文本单元格。
感谢。
答案 0 :(得分:0)
您应该将新行插入数据库,然后使用db中的新查询重新加载DataTable(以及您的数据视图)。虽然看起来太简单了,但您可能需要稍微详细说明问题。