Announcement

Collapse
No announcement yet.

Synthax Fehler Insert Into Access-Datenbank

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Synthax Fehler Insert Into Access-Datenbank

    Hallo Community, ich greife mittels OLEDB auf meine Datenbanken zu. Ich habe nun allerdings ein kleines Problem:
    Meine Access Datenbank besitzt die Spalten: Name [String] und Alter[Integer]


    Mein Code zum Zugreifen auf die DB sieht folgendermasen aus:

    Code:
        Private Sub SQLCommand(ByVal strCommand As String)
    
            OleDbConnection1.ConnectionString = _
            "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Vertax\Desktop\Test\Test\bin\Debug\Microsoft Office Access 2007 Datenbank (neu).accdb"
    
            OleDbCommand1.Connection = OleDbConnection1
            OleDbCommand1.CommandText = strCommand
    
            OleDbConnection1.Open()
            OleDbCommand1.ExecuteNonQuery()
            OleDbConnection1.Close()
    
        End Sub
        End Sub
    Wenn ich nun über einem Insert Into Befehl neue Werte in die Datenbank schreiben will kommt die Fehler-Meldung: Fehler in SQL Syntax

    Mein Code zum Übermitteln des SQLStrings sieht so aus:

    Code:
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            strCommand = "Insert Into Tabelle1(Name,Alter)Values('Hans',2)"
            SQLCommand(strCommand)
    Das kuriose an der ganzen Sache ist, das wenn ich in meiner Datenbank die Spalte Alter in Alter2 umbennene oder einen anderen Namen gebe
    funktioniert der Code einwandfrei.

    Es scheint als ob der Fehler darin liegt das die Spalte in der Access Datenbank Alter heist.

    Kennt jemand den hier beschriebenen Fehler vielleicht und könnte mir bitte helfen?

    Danke Vertax

  • #2
    Alter ist ein SQL-Schlüsselwort (ALTER Table ...).

    Comment


    • #3
      Das habe ich mir gedacht, also ist es unter keinen Umständen möglich eine Spalte mit dem Namen Alter in einer Datenbank zu haben?

      Das fände ich nämlich etwas komisch da muss es doch eine Lösung geben.

      Comment


      • #4
        Gibt schon indem du die Namen entsprechend escapest. Nach SQL-Standard wäre das mittels ' (... 'Alter' ...), aber AFAIK benötigt Access hier ein MS-Eigenheit und zwar [...] (... [Alter]...)

        Comment


        • #5
          Das war das Fehlende Puzzlestück !

          Hatt es mittels ' probiert da hat er die Spalten nicht gefunden!
          War kla das Access eine MS eigenheit möchte.

          Ich danke dir vielmals

          Comment

          Working...
          X