怎样将DataTable中数据批量插入表中??
返回一个DataTable数据集,如何批量插进表中呢??可是这样效率好低,2000条数据要耗时120S,有没有一些提高效率的办法?...
返回一个DataTable数据集,如何批量插进表中呢??
可是这样效率好低,2000条数据要耗时120S,有没有一些提高效率的办法? 展开
可是这样效率好低,2000条数据要耗时120S,有没有一些提高效率的办法? 展开
2个回答
展开全部
数据表dt.
try{
SqlConnection con=new SqlConnection("....");//连接数据库
con.Open();
SqlCommand com=new SqlCommand();//数据操作对象
SqlTransaction trans=con.BeginTransaction();//事物对象
com.Connection=con;//指定连接
com.Transaction=trans;//指定事物
string sql="";
for(int ii=0;ii<dt.Rows.Count;ii++){//对datatable循环
sql="insert into tablename(col1,col2...) values ('"+dt.Rows[ii]["col1"].ToString()+"',"+dt.Rows[ii]["col2"].ToString()+"...)";//某一行的数据 com.CommandText=sql;
com.ExecuteNonQuery();//执行该行
}
trans.Commit();//如果全部执行完毕.提交
}
catch
{
trans.Rollback();//如果有异常.回滚.
}
finally
{
con.close();//关闭连接 }
try{
SqlConnection con=new SqlConnection("....");//连接数据库
con.Open();
SqlCommand com=new SqlCommand();//数据操作对象
SqlTransaction trans=con.BeginTransaction();//事物对象
com.Connection=con;//指定连接
com.Transaction=trans;//指定事物
string sql="";
for(int ii=0;ii<dt.Rows.Count;ii++){//对datatable循环
sql="insert into tablename(col1,col2...) values ('"+dt.Rows[ii]["col1"].ToString()+"',"+dt.Rows[ii]["col2"].ToString()+"...)";//某一行的数据 com.CommandText=sql;
com.ExecuteNonQuery();//执行该行
}
trans.Commit();//如果全部执行完毕.提交
}
catch
{
trans.Rollback();//如果有异常.回滚.
}
finally
{
con.close();//关闭连接 }
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询