急啊,购物多条数据记录如何插入数据库!!!

kennyn 2005-04-20 09:45:46
代码是这样:

for (int i=0; i<ShoppingCartList.Items.Count; i++)
{
try
{
productsModel= shoppingCart[(String) ShoppingCartList.DataKeys[i]].Name;
productsNum =shoppingCart[(String) ShoppingCartList.DataKeys[i]].Quantity;
price= shoppingCart[(String) ShoppingCartList.DataKeys[i]].Price;
productsId = shoppingCart[(String) ShoppingCartList.DataKeys[i]].ProductID;

strSQL="insert into shop_cart(orderId,productsId,productsModel,price,productsNum,userId) values('"+orderId+"','"+productsId+"','"+productsModel+"',"+price+",'"+productsNum+"','"+userId+"')";
Response.Write(strSQL+"<br>");
SqlCommand cm2=new SqlCommand(strSQL,cn);
cm2.ExecuteNonQuery();
}
catch (Exception)
{
}

}

但觉得有问题,请指教!!!
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
minghui000 2005-04-20
  • 打赏
  • 举报
回复
up
adventure007 2005-04-20
  • 打赏
  • 举报
回复
这样程序效率可能不高.每次都要创建一个SqlCommand对象,使用存储过程使程序优化.或者可以试试SqlDataAdapter来试试看
mdot 2005-04-20
  • 打赏
  • 举报
回复
可以参考PETSHOP的方法
wangsaokui 2005-04-20
  • 打赏
  • 举报
回复
没有关系的,你建立了一个新的实例,与前一个不同了,你也可以把SqlCommand cm2;放在循环外面
循环中cm2=new SqlCommand(strSQL,cn);
kennyn 2005-04-20
  • 打赏
  • 举报
回复
就是这个:SqlCommand cm2=new SqlCommand(strSQL,cn);
    cm2.ExecuteNonQuery();
我每次循环都要创建CM2,但第一次循环就已经存在了,应该不可以吧,所以不知道怎样解决这个问题?
白雲 2005-04-20
  • 打赏
  • 举报
回复
你那样多次执行ExecuteNonQuery,一条条插入也可以,
或者写在一起,
strSQL += "insert into shop_cart(orderId,productsId,productsModel,price,productsNum,userId) values('"+orderId+"','"+productsId+"','"+productsModel+"',"+price+",'"+productsNum+"','"+userId+"')\n";

最后执行一次ExecuteNonQuery也行.

不放心就加入事务来处理.
wangsaokui 2005-04-20
  • 打赏
  • 举报
回复
什么问题?

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧