Vb.net VB SQL UPDATE命令返回错误";运行时错误424:需要对象;

Vb.net VB SQL UPDATE命令返回错误";运行时错误424:需要对象;,vb.net,ms-access-2007,dao,Vb.net,Ms Access 2007,Dao,代码如下: Dim tr As Transactions Set tr = New Transactions Dim ID As Integer Dim name As String, username As String, password As String, activate As String name = cmbName.Value ID = tr.GetUserID(name) If (AccountActivated = True) Then username = t

代码如下:

Dim tr As Transactions
Set tr = New Transactions

Dim ID As Integer
Dim name As String, username As String, password As String, activate As String

name = cmbName.Value
ID = tr.GetUserID(name)

If (AccountActivated = True) Then
    username = txtUsername.Value
    password = txtPassword.Value
    MsgBox name & " " & username & " " & password
    activate = "Yes"
Else
    username = ""
    password = ""
    activate = "No"
End If

tr.UpdateAccount name, username, password, activate 'ERROR HERE: Object required

在这里;我正在调用的函数是:

 Public Function UpdateAccount(ByVal name As String, ByVal username As String, ByVal password As String, ByVal activation As String)
        Call connectDB
        sSQL = "update User set Username = '" & username & "', Password = '" & password & "', AccountActivated = '" & activation & "' where Name = '" & name & "'"
        MsgBox sSQL
        db.Execute sSQL
 End Function
为什么在这里使用“db”,而在另一个问题上使用“CurrentDb”?始终使用选项explicit编写代码

为什么是函数,改成sub,我不记得这是否会引起问题

但最重要的是,不要使用从文本框输入的文本来构建sql字符串,这样很容易成为sql注入的牺牲品,请使用参数。

为什么在这里使用“db”,而在另一个问题上使用“CurrentDb”?始终使用选项explicit编写代码

为什么是函数,改成sub,我不记得这是否会引起问题


但最重要的是,不要使用从文本框输入的文本来构建sql字符串,这样很容易成为sql注入的受害者,请使用参数。

您收到的确切错误消息是什么?而且,您肯定应该使用
参数
来绑定
用户名
密码
激活
用户
的值。运行时错误424:需要对象我可以尝试使用什么语法?谢谢您收到的确切错误消息是什么?而且,您肯定应该使用
参数
来绑定
用户名
密码
激活
用户
的值。运行时错误424:需要对象我可以尝试使用什么语法?谢谢如果从Function(功能)更改为Sub(子功能),则该行将变为红色。另外,如何为SQL设置参数?谢谢很抱歉如果dao不支持参数,则必须使用记录集。另一种方法是清理字符串条带化可能的sql注入代码,如撇号,但“需要对象”可能是错误的变量名。打开OptionExplicit,您应该会看到它。哦,问题解决了!我只需要将“db”改为“CurrentDb”:)如果从函数改为子函数,则该行变为红色。另外,如何为SQL设置参数?谢谢很抱歉如果dao不支持参数,则必须使用记录集。另一种方法是清理字符串条带化可能的sql注入代码,如撇号,但“需要对象”可能是错误的变量名。打开OptionExplicit,您应该会看到它。哦,问题解决了!我只需将“db”更改为“CurrentDb”: