2017-03-15 11 views
0

Ich versuchte, meine Datenbank zu aktualisieren, aber der Syntaxfehler kommt weiter. Ich habe versucht, den Syntaxfehler zu finden, aber ich kann es nicht finden. Diese Datenbank ist passwortgeschützt.Syntaxfehler in UPDATE-Anweisung - MS. Zugang

sql12 = "SELECT * FROM x Where id='rd1996'" 
da12 = New OleDb.OleDbDataAdapter(sql12, con)  
da12.Fill(ds12, "tbl12") 

Dim cd As New OleDb.OleDbCommandBuilder(da12) 

ds12.Tables("tbl12").Rows(0).Item(1) = txtNNM.Text 
ds12.Tables("tbl12").Rows(0).Item(2) = txtNPS.Text 
DataGridView1.DataSource = ds12.Tables("tbl12") 

da12.Update(ds12, "tbl12") 

Antwort

-1

Der häufigste Grund dafür ist, dass eine Ihrer Spaltennamen ist entweder ein reserviertes Wort oder enthält Leerzeichen oder andere Sonderzeichen. Wenn Sie in Ihrer Abfrage einen Platzhalter verwenden, werden die Spaltennamen in den Aktionsbefehlen nicht vom Befehlsgenerator ausgeblendet und es kommt zu einem Syntaxfehler. Sie haben drei Optionen:

  1. Ändern Sie die Spaltennamen in etwas, das nicht entfernt werden muss. Sie sollten dies tun, auch wenn Sie eine der anderen Optionen verwenden.
  2. Verwenden Sie in Ihrer Abfrage keinen Platzhalter und geben Sie stattdessen jede Spalte an, . In diesem Fall müssen Sie mindestens die problematischen Spalten angeben und der Befehlsersteller folgt Ihrem Lead.
  3. Setzen Sie die QuotePrefix und QuoteSuffix Eigenschaften Ihres Befehls Builder, damit es alle Ihre Spaltennamen in diesen Werten umschließt. Für Access würden Sie "[" und "]" verwenden.
Verwandte Themen