在VB.NET中执行MySQL查询时出现错误SQL语法

时间:2019-06-24 02:58:21

标签: mysql vb.net row-number

就我而言,我只想在数据中获取缺失的数字。 我有一个在查询编辑器中执行良好的MySQL查询。 但是当我将该查询放入我的VB.Net项目时,它返回错误

当我使用此代码时,它返回错误“命令执行期间遇到致命错误。”

cmd.CommandText = "SELECT COALESCE(MIN(norow),0) " & _
                  "FROM ( " & _
                  "   SELECT @norow:=@norow+1 AS norow, " & _
                  "           nocst " & _
                  "   FROM cst, (SELECT @norow:=0) T " & _
                  "   ORDER BY nocst " & _
                  ") X " & _
                  "WHERE norow<>nocst "

并且当我使用mysqlparameter时,也返回错误 “您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取在':= .....附近使用正确的语法”。

cmd.Parameters.Add(New MySqlParameter("@norow", MySqlDbType.Double)).Value = 0
cmd.CommandText = "SELECT COALESCE(MIN(norow),0) " & _
                  "FROM ( " & _
                  "   SELECT @norow:=@norow+1 AS norow, " & _
                  "           nocst " & _
                  "   FROM cst " & _
                  "   ORDER BY nocst " & _
                  ") X " & _
                  "WHERE norow<>nocst "

有人可以解释其错误原因以及解决方法。 我只想通过mysql结果单执行而不在vb中执行。 谢谢

0 个答案:

没有答案