更新函数语法错误

时间:2015-09-23 12:11:33

标签: vb.net visual-studio visual-studio-2010

大家好,所以我有一个更新功能,最终看起来像这样:

SQL = "UPDATE Logins set Password = '" & txtPass.text & "' WHERE Username = '"
SQL = SQL & Globalvars.LoggedIn(0) & "'"

它应该更新用户的密码,txtPass是表单上的文本框,用户的用户名保存在元素0中名为LoggedIn的数组中。

我得到程序在msgbox中给我一个SQL字符串,它给了我:

UPDATE Logins set Password = 'Egg' WHERE Username = 'Teacher'

哪个看起来对我不对。所有字段都正确命名。

任何人都可以看到该陈述有什么问题吗?

提前致谢

编辑 -
运行的代码:

Public Function RunSQL(ByVal query As String) As DataTable

    Dim Connection As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database.accdb")
    Dim DT As New DataTable
    Dim DataAdapater As OleDb.OleDbDataAdapter

    Connection.Open()
    DataAdapater = New OleDb.OleDbDataAdapter(query, Connection)
    DT.Clear()
    DataAdapater.Fill(DT)
    Connection.Close()
    Return DT

End Function

我有一个包含该函数的模块,然后我以简单地放入

的形式
runSQL(SQL) 

使用" SQL"是早先生成的字符串。另一个例子(有效)是:

    SQL = "DELETE from Students where Class = '" & GlobalVars.Code & "'"
    RunSQL(SQL)

用于删除记录

1 个答案:

答案 0 :(得分:0)

密码是SQL中的保留术语,因此在语句中使用它会导致错误。

我必须重命名我的数据库中的字段,然后相应地编辑该语句。