我有一个带有一堆字段的数据表,它由tableadapter填充数据。通常,需要插入的记录稍有不同(只有id)。我不希望用户再次重新输入所有内容,因此有一种快速的方法将当前记录插入数据库。请注意,我的所有插入,更新和删除操作都基于我的tableadapter。
//Get only one last record that has been added when the form load.
bookTableAdapter.FillByLastID(bookDataSet.dtBook);
private void btnNew_Click(object sender, EventArgs e)
{
bookBindingSource.AddNew();
}
private void btnSave_Click(object sender, EventArgs e)
{
this.Validate();
bookBindingSource.EndEdit();
bookTableAdapter.Update(bookDataSet.dtBook);
}
答案 0 :(得分:1)
尝试复制行:
DataRow row = table.Rows[0]; // row you want to copy
DataRow newRow = table.NewRow();
newRow.ItemArray = row.ItemArray.ToArray();
newRow["Id"] = 10; // change Id
table.Rows.Add(newRow);
答案 1 :(得分:0)
接受的答案对我不起作用,因为TableAdapter查询返回的列多于新行的列数33.我的表有32列。这是遗留代码和数据库。
然而,这篇文章给了我答案:This Row already belongs to another table error when trying to add rows?