2011-11-29 58 views
2

我有一堆數據表,並且它是由tableadapter填充的數據。通常,需要插入的記錄有點不同(只有id)。我不希望用戶再次重新輸入所有內容,是否有一種將當前記錄插入數據庫的快速方法。請注意,我所有的插入,更新和刪除操作都基於我的tableadapter。使用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

一些代碼示例會很好。因爲它不清楚你如何做更新工作。你是否張貼整張桌子或什麼? –

+0

我只是我的datadapater更新方法。我一次發佈一條記錄。 – sovantha

回答

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

什麼是GUid.NewGuid();?我遇到了一條錯誤消息:無法將類型爲「System.Guid」的對象轉換爲鍵入「System.IConvertable」。無法在ID列中存儲。預期的類型是Int32 – sovantha

+0

在我的例子中,Id列是Guid類型,因爲我看你有int,所以把它改成int。參見我的更新 – Stecya

+0

這很好。非常感謝。 – sovantha