插入一个表并更新for循环中的另一个表

时间:2015-01-28 05:36:47

标签: mysql

我有两张不同的牌桌。我使用for循环来插入和更新两个表

这是一个例子:

   for (int i=0; i<multientryindex;++i)
   {
      data1= _listBox[0].Items[i].ToString();
      data2= _listBox[1].Items[i].ToString();
      // same for other datas
      cmd = new MySqlCommand("INSERT INTO (field1,field2) VALUES (@data1,@data2)");
      cmd.Parameters.AddWithValue("@data1",data1);
      cmd.Parameters.AddWithValue("@data2",data2);
     try
     {
        cmd.ExecuteNonQuery();
     }
     catch(MySqlException e)
     {
     }
     cmd.Parameters.Clear();
     qty = int.Parse(data2);
     cmd = MySqlCommand("UPDATE depo SET qty=qty - @adqty WHERE prodid=@prodid ...");
     cmd.Parameters.AddWithValue("@adqty",qty);
     cmd.Parameters.AddWithValue("@prodid",prodid);     //That
     try
     {
        cmd.ExecuteNonQuery();
     }
     catch(MySqlException e)
     {
     }
     cmd.Parameters.Clear();
   }

当我在循环中包含更新查询时,Mysql要求放置&#34;那&#34;在第一个参数。但是,第一个cmd命令中的其他名称不包含此数据。结果是灾难性的。

但如果我对两个for循环做同样的事情,结果就不错了。

MySql无法在同一个循环中运行插入和具有相同连接的更新吗?

这是给定的错误。 @adqty确实存在于第一个命令字符串中。但是mysql告诉我在第一个参数中添加它,当这2个命令在for循环中时相同。

enter image description here

0 个答案:

没有答案