大家好,所以我有一个更新功能,最终看起来像这样:
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)
用于删除记录
答案 0 :(得分:0)
密码是SQL中的保留术语,因此在语句中使用它会导致错误。
我必须重命名我的数据库中的字段,然后相应地编辑该语句。