如何在另一个表和asp.net中的局部变量中插入mysql中的数据

时间:2014-11-20 12:23:23

标签: c# mysql asp.net

我想从表格中添加lotno,date,catid,rcno和本地c#变量buyid,prc,datetime,all到表soldlot。我该怎么做呢?我正在使用MySql。

string datetime = DateTime.Today.ToString("yyyy-MM-dd"); 
String q6 = "insert into soldlot (lotNo,date,categoryId,receiptNo) (select @lotno,date,@catid,@rcno from lot)";
MySqlCommand c6 = new MySqlCommand(q6, cn);
c6.Parameters.Add("@lotno",lotno);
c6.Parameters.Add("@catid",catid);
c6.Parameters.Add("@buyerId", buyid);
c6.Parameters.Add("@rcno", rcno);                    
c6.Parameters.Add("@soldPrice", prc);
c6.Parameters.Add("@soldDate", datetime);
c6.ExecuteNonQuery();

1 个答案:

答案 0 :(得分:0)

当你说;

select @lotno,date,@catid,@rcno from lot

您尝试参数化列名称,而不是您的值

您需要像使用它们一样使用它们;

select lotno, date, catid, rcno from lot
where lotno = @lotno and date = @date and catid = @catid and rcno = @rcno

阅读13.2.5 INSERT Syntax

看起来你不需要@buyerId@soldPrice@soldDate,因为你甚至没有在你的命令中定义它们。

如果您想保存DateTime值,请不要存储在任何字符类型列中。使用datetime或相关类型,并将DateTime值直接传递到parameterized queries

也可以使用using statement来处理数据库连接和对象。