使用Tableadapter插入与复制相同记录的快速方法

本文关键字:记录 方法 Tableadapter 插入 复制 使用 | 更新日期: 2023-09-27 18:16:17

我有一个有一堆字段的数据表,它是由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);
}

使用Tableadapter插入与复制相同记录的快速方法

尝试复制行:

        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);

接受的答案对我不起作用,因为TableAdapter查询返回的列数比新行多33列。我的表有32列。这是遗留代码和数据库。

然而,这篇文章给了我答案:这行已经属于另一个表错误时,试图添加行?