Access OLEDB meldet "Syntaxfehler", aber die Anweisung sieht korrekt aus

Ich schreibe eine einfache Seite in ASP.net, um ein Kennwort in einer Access-Tabelle zu aktualisieren. Hier ist die Syntax für eine SELECT-Abfrage, die funktioniert:

    Dim dbConn As OleDbConnection
    Dim dbCommand As OleDbCommand
    Dim dbReader As OleDbDataReader

    'Connect to db
    dbConn = New OleDbConnection(Application("strConnectionString"))
    dbConn.Open()

    'Get user info
    strSQL = "SELECT * FROM users WHERE Username = '" & strUsername & "';"
    dbCommand = New OleDbCommand(strSQL, dbConn)
    dbReader = dbCommand.ExecuteReader()

Und meine Verbindungszeichenfolge:

    Application("strConnectionString") = _
        "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strDBPath & _
            "; Jet OLEDB:Database Password=" & strDBPassword & ";"

Das SELECT funktioniert einwandfrei, daher weiß ich, dass meine Verbindung in Ordnung ist. Aber diese Abfrage gibt mir einen Syntaxfehler:

strSQL = "UPDATE users SET Password = '1'"

Wenn alles andere gleich ist, besagt der ASP-Fehler, dass ein Fehler in meiner Syntax vorliegt. Aber wenn ich antworte, schreibe ich die strSQL-Zeile und bekomme folgendes:

UPDATE users SET Password = '1' 

Wenn ich dies in einen Abfrageeditor in Access einfüge, aktualisiert die Abfrage das gesamte Feld "Kennwort" in der Tabelle auf "1", sodass ich weiß, dass die Syntax in Ordnung ist. Ich habe es ohne den Daten-Reader und mit dbCommand.ExecuteNonQuery () versucht, das gleiche Ergebnis.

Ich habe die Berechtigungen für die Access-Datei so festgelegt, dass jeder die volle Kontrolle hat, sodass ich nicht denke, dass es sich um ein Berechtigungsproblem handelt.

Kann jemand meinen Fehler sehen? Ich stecke wirklich fest. Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage