我有这个MySQL命令一个问题:如何在未定义值时定义参数值?
cmdTemp = New MySqlCommand("SET @qty = " & Qty & "; update(tb_harvest) set actual = (case when @qty >= actual " & _
"then if(@qty := @qty - actual, 0, 0) when (@tmp := actual - @qty) " & _
"then if(@qty := 0, @tmp, @tmp) " & _
"else actual end), Status = (case when @qty >= actual then if(@qty := @qty - actual, 0, 0) " & _
"when (@tmp := actual - @qty) then if(@qty := 0, 1, 1) else 1 end) order by harvestid;", cn)
当我尝试在VB.NET(VS2008)运行出现以下错误:
@Qty
must be defined so do@tmp
然而,当我在MySQL上运行此(HeidiSQL)它没有问题。
当我加入到New ConnectionString
,Allow User Variables = true
错误是:
Keyword not supported. Parameter name: allowuservariables
这是我ConnectionString
我放在一起使用Connection Strings:
Server=localhost;Port=3306;Database=testing;Uid='test';Pwd='test';AllowUserVariables=True;
我使用的MySQL版本5.6.21
我想说的是摆脱查询中的Set @ qty部分,然后向名为'@ qty'的'cmdTemp.Parameters'集合中添加一个参数。 –
请帮我解决这个!,即使我已经在使用'cmdTemp.Parameters'它仍然给我和错误@ChrisDunaway – Shiroze
你不知道你在做什么。 “IF”功能中的作业的目的是什么? –