我现在是每打开一次数据库连接插入一个记录,效率很低。谢谢大家。我只有40分。
解决方案 »
- 很简单的一个问题。高手给指导指导。。。。。。。。。。。
- session超时,重登陆问题
- onunload事件
- 再问关于格式化问题:{1:{0}} 这样的形式怎么在语句中正常格式化出来(其中0,1分别代码两个不同的变量)请高手们指教!(不要{1}{0}这样的答案...)
- javascript如何给freetextbox赋值 请高手们解决一下
- 利用dataset和dataadapter将dataset时出错“未将对象引用设置到对象的实例
- 小弟最近接到一个客户资料管理模块的项目,因为是第一次做CRM的模块.没有头绪
- gridview下的排序与汇总
- 很麻烦的验证控件处理问题(100分奉送)
- 怎样在web页面上使用TreeView组件??
- 求一正则表达式,只能输入 6位以上的字符
- 检索用户名,如果有重名则给出提示,外加几个小问题,答者有分,解决有高分!
循环执行你的Comm.ExecuteNonQuery()
try{
Comm.ExecuteNonQuery();
}
{
//orderID,spbm,sl,kpj,pfj,jsj,pj
//strSQL = strSQL + SQL_ADD_ITEM + " @ID " + ",@spbm"+i + ",@sl"+i + ",@kpj"+i + ",@pfj"+i + ",@jsj"+i + ",@pj"+i +"); SELECT @ERR=@ERR+@@ERROR;";
strSQL = strSQL + SQL_ADD_ITEM + " @ID " + ",@spbm"+i + ",@sl"+i +"); SELECT @ERR=@ERR+@@ERROR;"; itemParms = GetInsertItemParms(i); itemParms[0].Value = item.spbm;
itemParms[1].Value = item.sl;
// itemParms[2].Value = item.kpj;
// itemParms[3].Value = item.pj;
// itemParms[4].Value = item.jsj;
// itemParms[5].Value = item.bz; foreach (SqlParameter parm in itemParms)
cmd.Parameters.Add(parm); i++;
} conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSQL + "SELECT @ID,@ERR "; using(SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
rdr.Read(); if(rdr.GetInt32(1) != 0)
throw new Exception("系统在增加订货单过程中出错!"); orderId = rdr.GetInt32(0);
} cmd.Parameters.Clear();我在做一个进销存系统中也遇到这个问题,就是订单与订单内项,一张订单里有N条项,要一起插入数据库,
上面就是其中的一段代码,希望对你有用,
其实也就是动态SQL,生成N条插入语句,然后连起来执行,
呵
给你个在程序中加的例子:
string flag="";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationSettings.AppSettings["ConnStr"];
if (conn.State.ToString() == "Closed")
{
conn.Open();
}SqlTransaction myTrans;//
myTrans = conn.BeginTransaction(IsolationLevel.ReadCommitted,"SampleTransaction");//SqlCommand comm = new SqlCommand();
comm.Connection = conn ;
comm.Transaction=myTrans;//try
{
comm.CommandText = "delete from test where id=91" ;
comm.ExecuteNonQuery (); comm.CommandText = "delete from test where id=92" ;
comm.ExecuteNonQuery (); myTrans.Commit();//
flag="1";
}
catch(Exception ep)
{
myTrans.Rollback("SampleTransaction");//
flag="0";
Page.Response.Write(ep.Message.ToString()+"<br>");
}if (conn.State.ToString() == "Open")
{
conn.Close();
}
conn.Dispose();if(flag.CompareTo("1")==0)
{
Page.Response.Write("事务成功!");
}
else if(flag.CompareTo("0")==0)
{
Page.Response.Write("事务失败!");
}