如果我用DataAdapter.Fill(DataTable);
填充DataTable,然後用如下簡單的方法更改DataTable中的某一行:DataTable.Rows[0]["Name"] = "New Name";
如何輕鬆地將這些更改保存回數據庫?我以爲我可以打電話DataAdapter.Update(DataTable);
,但我讀到只適用於TableAdapter(?)。更新數據庫,對DataTable進行更改...... confusion
5
A
回答
22
這是在任何情況下,實際有用的答案其他人需要知道如何做到這一點:
string selectStatement = "SELECT * FROM Contact";
System.Data.DataTable dt = new System.Data.DataTable();
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
conn.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter();
sqlDa.SelectCommand = new SqlCommand(selectStatement, conn);
SqlCommandBuilder cb = new SqlCommandBuilder(sqlDa);
sqlDa.Fill(dt);
dt.Rows[0]["Name"] = "Some new data here";
sqlDa.UpdateCommand = cb.GetUpdateCommand();
sqlDa.Update(dt);
+0
,會試試這個。 – zulucoda 2013-11-12 12:39:40
+0
cb.GetUpdateCommand(); ?它返回什麼? – 2017-08-06 18:35:20
0
採取注SqlBulkCopyOptions.KeepIdentity的,你可能會或可能不希望使用此爲您的情況。
using (var bulkCopy = new SqlBulkCopy(_connection.ConnectionString, SqlBulkCopyOptions.KeepIdentity))
{
// my DataTable column names match my SQL Column names, so I simply made this loop. However if your column names don't match, just pass in which datatable name matches the SQL column name in Column Mappings
foreach (DataColumn col in table.Columns)
{
bulkCopy.ColumnMappings.Add(col.ColumnName, col.ColumnName);
}
bulkCopy.BulkCopyTimeout = 600;
bulkCopy.DestinationTableName = destinationTableName;
bulkCopy.WriteToServer(table);
}
相關問題
- 1. 更新Datatable和DatagridView與數據庫由定時器更改
- 2. 刷新radgrid一旦對數據庫進行了更改?
- 3. 動態刷新ListView並對數據庫進行更改android
- 4. 更新DataTable的MySQL數據庫C#
- 5. C#DataTable更新訪問數據庫
- 6. 在對數據庫進行結構更改後更新MySQL存儲過程
- 7. 使用更新(dataTable)幫助更新訪問數據庫
- 8. 從DataTable表更新數據
- 9. 更改數據集中的行並更新數據庫
- 10. 對數據庫中的同一行進行多次更新
- 11. 財務年度更改需要對SQL Server數據庫進行哪些更改?
- 12. 更新DataGrid更改爲數據庫?
- 13. 更新ObjectDataSource中的數據庫更改
- 14. 我如何更改數據庫更新
- 15. Rails更新數據庫,更改模型
- 16. 更新數據庫更改時的datagridview
- 17. 更新手動數據庫更改
- 18. 數據庫更改後ListView未更新
- 19. 更新的ListView更改數據庫
- 20. 數據庫更改軟件更新
- 21. c#datatable無法更新。數據庫或對象是隻讀的
- 22. 使用「新」表單進行數據庫更改
- 23. primeNG Datatable在數據源發生更改時不更新
- 24. 對數據庫中的信息進行更改的按鈕
- 25. 如何對鏡像數據庫進行架構更改?
- 26. 如何使用EF Core對Sqlite數據庫進行更改?
- 27. Delayed_job不會對數據庫進行任何更改
- 28. 在更新到數據庫之前在DataTable中編輯行
- 29. 更新數據庫行
- 30. 更新MVC數據庫首先反映數據庫更改
這是ADO.net?感謝的人, – Rafa 2013-03-07 13:58:21