你这样做是错误的。你应该使用
DataSet
要进行更改(即,创建
DataRow
,然后将相应的
DataTable
从
数据集
对你
TableAdapter
为了通过调用
Update
功能上
填充器
tableAdapter.Update(dataSetName);
调用
Insert
函数只将该数据直接插入到数据库本身的表中;它对数据的任何本地副本(例如
数据集
)
作为旁注,
尽量避免使用特定于语言的函数,如
MsgBox
. 相反,要显示消息框,请尝试调用
MessageBox.Show(...)
因为这是语言独立的。
编辑
澄清一下,正确的方法是创建一个新的
数据行
,用新值填充其列,然后添加
数据行
到相应的表,然后将该表传递给
填充器
通过
更新
功能。
例如,我……
A DataSet named myDataSet
A DataTable in myDataSet called MyTable
A TableAdapter for MyTable called myTableAdapter
Two columns in that table, FirstName and LastName
Two TextBoxes called txtFirstName and txtLastName
要插入具有这些值的行,我将执行以下操作:
DataRow row = myDataSet.MyTable.NewRow(); // creates a new row with the correct columns
row["FirstName"] = txtFirstName.Text;
row["LastName"] = txtLastName.Text;
myDataSet.MyTable.Rows.Add(row); // adds the new row to the in-memory table
myTableAdapter.Update(myDataSet); // persists all of the changes to the DataSet