我想从表格中添加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();
答案 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
看起来你不需要@buyerId
,@soldPrice
和@soldDate
,因为你甚至没有在你的命令中定义它们。
如果您想保存DateTime
值,请不要存储在任何字符类型列中。使用datetime
或相关类型,并将DateTime
值直接传递到parameterized queries。
也可以使用using
statement来处理数据库连接和对象。