0
我想我的參數化查詢,以便,而不是這個代碼(This is a working code, I didn't put all the codes here because we have nothing to do with it.
)參數化查詢說:「不允許混合命名參數和未命名參數。」
MySQL_Query = "SET @row_number = 0; " _
& "SELECT hardware_add " _
& "FROM (" _
& "SELECT " _
& "@row_number:[email protected]_number + 1 AS num, " _
& "hardware_add AS hardware_add " _
& "FROM teller_info " _
& "WHERE status = 'Disconnected'" _
& ") AS sub_query " _
& "WHERE num = " & counter & ";"
Console.WriteLine(MySQL_Query)
Dim MySQL_CMD As New MySqlCommand(MySQL_Query, MysqlConn)
MySQL_CMD.Connection.Open()
的我改變它這一點。
MySQL_Query = "SET @row_number = 0; " _
& "SELECT hardware_add " _
& "FROM (" _
& "SELECT " _
& "@row_number:[email protected]_number + 1 AS num, " _
& "hardware_add AS hardware_add " _
& "FROM teller_info " _
& "WHERE status = 'Disconnected'" _
& ") AS sub_query " _
& "WHERE num = ?;"
Console.WriteLine(MySQL_Query)
Dim MySQL_CMD As New MySqlCommand(MySQL_Query, MysqlConn)
MySQL_CMD.Connection.Open()
MySQL_CMD.Parameters.Add(New MySqlParameter("counter", counter))
錯誤說
MySql.Data.MySqlClient.MySqlException(0X80004005):混合有名和無名的參數是不允許的。
我的問題是我怎麼能正確parameterize
該查詢?
你嘗試提供一個名稱該參數?我的意思是,在sql和mysqlparameter中直接使用'@counter'? – Caveman
@CapitánCavernícola謝謝!我把它改成這個'「WHERE num = @counter;」'和'MySQL_CMD.Parameters.Add(New MySqlParameter(「@ counter」,counter))'對不起,我不知道它會有所作爲。請發表一個答案,我會標記它。 –