在sql表中插入数据表
本文关键字:插入 数据表 sql | 更新日期: 2023-09-27 18:07:20
我有一个名为dt2
的数据表。它包含一些数据。我想把这些数据添加到我的名为invitationdata
的表中。
如何编写代码?有人能帮忙吗?
public bool BulkInsertDataTable(string tableName, DataTable dataTable)
{
bool isSuccuss;
try
{
SqlConnection SqlConnectionObj = GetSQLConnection();
SqlBulkCopy bulkCopy = new SqlBulkCopy(SqlConnectionObj, SqlBulkCopyOptions.TableLock | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.UseInternalTransaction, null);
bulkCopy.DestinationTableName = tableName;
bulkCopy.WriteToServer(dataTable);
isSuccuss = true;
}
catch (Exception ex)
{
isSuccuss = false;
}
return isSuccuss;
}
DataTable dt = new DataTable();
string sql = "";
for (int i = 0; i < dt2.Rows.Count; i++)
{
sql = sql + "insert into InvitationData (Col1, Col2, ColN) values('"
+ dt2.Rows[i]["columnname"].ToString().Trim() + "','"
+ dt2.Rows[i]["columnname"].ToString().Trim() + "','"
+ dt2.Rows[i]["columnname"].ToString().Trim() + "')";
}
如果你的数据表和你的表结构是相同的,那么你可以使用SqlBulkCopy,这将是一个更快的选择,如果数据表包含大量的行。
SqlBulkCopy
允许您有效地批量加载SQL Server表中的数据另一个来源。
use INSERT INTO...SELECT
INSERT INTO InvitationData (Col1, Col2, ColN)
SELECT Col1, Col2, ColN
FROM DT2
它的作用是选择所有记录(或指定的记录)并将其插入到另一个表中