VB.NET询问por @ rownum1定义执行此查询:

qry = "SELECT @rownum1:=@rownum1+1 AS rownum, fld1, fld1 FROM ( SELECT @rownum1:=0 ) r, tablename WHERE fld2='some_value' ORDER BY fld2"


但是我用
    cmd.Parameters.AddWithValue(“ @ rownum1”,0)
MySQL将@ rownum1替换为0。

我尝试在查询中声明@ rownum1,而不使用AddWithValue,但是它不起作用:

qry = "SET @rownum1:=0; SELECT @rownum1:=@rownum1+1 AS rownum, fld1, fld1 FROM ( SELECT @rownum1:=0 ) r, tablename WHERE fld2='some_value' ORDER BY fld2"


这是我的代码:

qry = "SELE...."
Dim cmd As New MySqlCommand(qry, conbd)
cmd.Parameters.AddWithValue("@rownum1", 0)
Dim dr As MySqlDataReader = cmd.ExecuteReader

最佳答案

如果您不想提供值,请不要使用AddWithValue。完全不使用它,但这是另一回事。如果要添加参数,请调用Add。如果参数的目的是传递值,则还应设置Direction,因为默认值为Input

关于mysql - 使用未定义的@parameter执行查询,不需要通过Parameters.AddWithValue传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57479469/

10-15 21:06