2012-08-15 88 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