批量快速插入数据

 mysql语法:insert into userinfo(LoginName) values('1234'),('1235'),('1236') ,('1237')

sql语法:insert into userinfo(LoginName) values('1234')insert into userinfo(LoginName) values('1234')......
StringBuilder sqlsb = new StringBuilder();   往sql书库据批量添加
StringBuilder mysql = new StringBuilder();  往mysql书库据批量添加
for (int i = 0; i < dt.Rows.Count; i++)
{

sqlsb.Append("insert into Sys_HuoYun(ObjectID,Kind) values(" + Convert.ToInt32(dt.Rows[i]["OrderID"]) + ",4)");
if (string.IsNullOrEmpty(mysql.ToString()))
{
mysql.Append("INSERT INTO orderdetail(OrderID,ProductCode,ProductName,TradePrice,ProductCount) VALUES");
}
mysql.Append("(" + Convert.ToInt32(dt.Rows[i]["OrderID"]) + ",'" + dt.Rows[i]["产品编码"] + "','" + dt.Rows[i]["产品名称"].ToString().Replace('\'', ' ') + "'," + dt.Rows[i]["成交单价"] + "," + Convert.ToInt32(dt.Rows[i]["成交数量"]) + "),");
if ((i + 1) % 1000 == 0)
{

SqlHelper.ExecuteNonQuery(CommandType.Text, sqlsb.ToString());
MySqlHelper.ExecuteNonQuery(MySqlHelper.connectionStringManager, CommandType.Text, mysql.ToString().Substring(0, mysql.Length - 1));      //去掉最后那个,号。

sqlsb.Clear();
mysql.Clear();
}
}

posted @   .NET_海  阅读(264)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示