//上面是生成动态inset语句 string insertSQL = builder1.ToString() + builder2.ToString() + builder3.ToString() + ")"; OracleCommand cmd = new OracleCommand(insertSQL, OracleCon);
cmd.ExecuteNonQuery();我现在是动态生成1条insert语句,然后再一条一条提交,因为我现在要插入几万行的数据,所以这种方式有点慢,请问大家怎么才能让它1000行提交执行一次啊,就像PL/SQL中是100行commit一次一样
解决方案 »
- C#的一个模拟登陆的代码 实在不知道哪里错了 求大神解答
- 求助,关于NHibernate的使用
- 类似新浪、163邮箱中的点击收件人弹出层效果
- 求一思路
- VS2005,关于Microsoft.WizardFramework.dll的sample?
- .net sdk环境变量不知道怎么设置???
- 在引用C#制作的控件时,报ConnectionString属性未初使化的错误!
- 高分求C#和Delphi压缩加密算法
- 怎样才能让程序知道用户已经3分钟没动过鼠标和键盘了?
- 有谁介绍几本c#的好书,尤其是网络编程方面的
- DataGrid 导出 excel 行数少时出现中文乱码
- 想学.NET,大家推荐本入门书吧 谢谢了
比如说把你插入的所有内容存在一个datatable中,然后直接将datatable一次更新保存
public int UpdateByDataSet(DataSet ds,string strTblName,string strConnection)
{
SqlConnection conn = new SqlConnection(strConnection));
SqlDataAdapter myAdapter = new SqlDataAdapter();
SqlCommand myCommand = new SqlCommand('select * from '+strTblName),(SqlConnection)this.conn);
myAdapter.SelectCommand = myCommand;
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.Update(ds,strTblName);
}
try
{
OracleCommand.Trans = OT;
for(int i = 0; i < 1000; i++)
{
OracleCommand.CommandText = "INSERT INTO TABLEA() VALUES()";
OracleCommand.ExecuteNO();
}
OT.COMMIT;
}
catch{
OT.ROLLBACK;
}
这样的操作和动态拼出来的sql没有什么联系