我有一个DataTable我想要推送到DB.我希望能够说出来
myDataTable.update();
Run Code Online (Sandbox Code Playgroud)
但在阅读MSDN 文档后,显然这确实是逐行插入的.
应该注意的是,这些陈述不是作为批处理执行的; 每行都单独更新.
我有什么选择?
编辑:我正在使用SQL Server 2005
Joh*_*hnB 48
如果使用SQL Server, SqlBulkCopy.WriteToServer(DataTable)
或者也可以使用SQL Server,将其写入.csv并使用 BULK INSERT
如果使用MySQL,您可以将其写入.csv并使用 LOAD DATA INFILE
如果使用Oracle,则可以使用ODP.NET的数组绑定功能
如果是SQLite:
小智 8
string connectionString= ServerName + DatabaseName + SecurityType;
using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection)) {
connection.Open();
bulkCopy.DestinationTableName = "TableName";
try {
bulkCopy.WriteToServer(dataTableName);
} catch (Exception e) {
Console.Write(e.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,数据库表的结构和表名应该相同,否则会引发异常.