gpt4 book ai didi

sql - 在SQL中插入多行作为sqlparameter

转载 作者:行者123 更新时间:2023-12-04 23:48:15 27 4
gpt4 key购买 nike

我的数据表中有 1000 行 dt我想一次性将所有这些数据插入到我的 sql 表中。我知道如何用 for 循环来做到这一点。
我当前插入此数据的代码是这样的

 DataTable dt = result.Tables[0];


SqlHelper.ExecuteScalar(GlobalSettings.DbDSN, CommandType.Text,
"INSERT INTO tbl_Projects (Project,Owner,Consultant ,Contractor,Value ,Level1,Level2 ,Status ,Country ,CreatedDate ,CreatedByID ,CreatedByName) VALUES (@Project,@Owner,@Consultant ,@Contractor,@Value ,@Level1,@Level2 ,@Status ,@Country ,@CreatedDate ,@CreatedByID ,@CreatedByName)",
new SqlParameter("@Project",dt.Rows[0].ItemArray[0]),
new SqlParameter("@Owner", dt.Rows[0].ItemArray[1]),
new SqlParameter("@Consultant", dt.Rows[0].ItemArray[2]),
new SqlParameter("@Contractor", dt.Rows[0].ItemArray[3]),
new SqlParameter("@Value", dt.Rows[0].ItemArray[4]),
new SqlParameter("@Level1", dt.Rows[0].ItemArray[5]),
new SqlParameter("@Level2", dt.Rows[0].ItemArray[6]),
new SqlParameter("@Status", dt.Rows[0].ItemArray[7]),
new SqlParameter("@Country", dt.Rows[0].ItemArray[8]),
new SqlParameter("@CreatedDate", System.DateTime.Now),
new SqlParameter("@CreatedByID", ""),
new SqlParameter("@CreatedByName", ""));

任何人都可以帮我解决这个问题..

最佳答案

您可以通过利用 SqlBulkCopy 来做到这一点。类(class)。简而言之,得到一个 SqlConnection创建并打开,然后使用此代码从 DataTable 批量复制该代码。到服务器。

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn))
{
bulkCopy.DestinationTableName = "tbl_Projects";
bulkCopy.WriteToServer(dt);
}

关于sql - 在SQL中插入多行作为sqlparameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17723073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com