2012-08-15 46 views
0

我一直听说当我使用参数时,在我的mysql语法中有错误。使用参数时mysql语法错误

这里是我的代码:

Dim db As New Database 

    Dim sql As String = "select firstname, password from users where email = :email" 

    Dim args As New List(Of MySqlParameter) 
    args.Add(New MySqlParameter(":email", txtEmail.Text)) 

    ' execDB(procedurename As String, proceduretype As String, parameters() as MySqlParameter, returntype As String, newconnection As Boolean) 

    Dim dr As MySqlDataReader = db.execDB(sql, "Text", args.ToArray, "DataReader", False) 

的错误指出:email不是有效的值。我不明白为什么它不使用参数,因为我将它传递给execDB函数。

在此先感谢您的帮助。

回答

0

使用?paramsyntax

Dim sql As String = "select firstname, password from users where email = ?email" 
+0

那么它的工作,你能解释一下为什么吗?我有点困惑,因为我在其他地方使用过':email',并且这些似乎都工作正常 – Ortund 2012-08-15 12:24:52

+0

@Ortund - :param对于mysql连接API无效。看看文档(语法)。 – adatapost 2012-08-15 13:13:53