Hallo alle Zusammen,
Ich hab da mal wieder ein Problem dass mich jetzt schon seit Tagen beschäftigt!
Und zwar möchte ich einen neuen Datensatz mit Hilfe eines CommandBuilder in eine Access Datenbank einfügen. Allerdings bekomme ich beim Speichern immer die Fehlermeldung: "Syntaxfehler in der INSERT INTO-Anweisung".
Ich habe ein Beispielprojekt gemacht um mich mit ADO.NET zu Spielen, und da geht alles.
Anbei der Quellcode zum Laden und Speichern:Public Sub loadSpieler()
SQL = "Select * from Spieler"
conn = New OleDbConnection(CONNSTR)
cmd = New OleDbCommand(SQL, conn)
daSp = New OleDbDataAdapter(cmd)
dsSp = New DataSet()
conn.Open()
daSp.Fill(dsSp, "Spieler")
dtSp = dsSp.Tables.Item("Spieler")
dvSp = dsSp.DefaultViewManager.CreateDataView(dtSp)
dr = cmd.ExecuteReader
While dr.Read
spieler = New CSpieler(dr(1), dr(2), dr(3), dr(4), dr(5), dr(6), dr( _
7), dr(8), dr(9), _
dr(10), dr(11), dr(12), dr(13), dr(14), dr( _
15))
Me.litem = LVSpieler.Items.Add(spieler.Name)
Me.litem.SubItems.Add(spieler.VName)
Me.litem.SubItems.Add(spieler.Strasse)
Me.litem.SubItems.Add(spieler.Land)
Me.litem.SubItems.Add(spieler.Plz)
Me.litem.SubItems.Add(spieler.Ort)
Me.litem.SubItems.Add(spieler.Telefon)
Me.litem.SubItems.Add(spieler.Fax)
Me.litem.SubItems.Add(spieler.Mobil)
Me.litem.SubItems.Add(spieler.Mail)
Me.litem.SubItems.Add(spieler.Abschlag)
Me.litem.SubItems.Add(spieler.HCP)
Me.litem.SubItems.Add(spieler.HeimatClub)
Me.litem.SubItems.Add(spieler.PlayerDefault)
Me.litem.SubItems.Add(dr(0))
alSpieler.Add(spieler.Name & " " & spieler.VName & ", " & _
spieler.Ort)
alSpielerID.Add(dr(0))
alSpielerHCP.Add(spieler.HCP)
alSpielerAbschlag.Add(spieler.Abschlag)
End While
dr.Close()
conn.Close()
End Sub
Public Sub saveSpieler()
Dim cb As New OleDbCommandBuilder(daSp)
Dim rw As DataRow = dtSp.NewRow
rw("name") = spieler.Name
rw("vorname") = spieler.VName
rw("strasse") = spieler.Strasse
rw("land") = spieler.Land
rw("plz") = spieler.Plz
rw("ort") = spieler.Ort
rw("telefon") = spieler.Telefon
rw("fax") = spieler.Fax
rw("mobil") = spieler.Mobil
rw("mail") = spieler.Mail
rw("abschlag") = spieler.Abschlag
rw("handicap") = spieler.HCP
rw("heimat") = spieler.Heimat
rw("heimat_club") = spieler.HeimatClub
rw("default") = spieler.PlayerDefault
dtSp.Rows.Add(rw)
Try
daSp.Update(dtSp)
Catch ex As Exception
MessageBox.Show(ex.Message, "Form1.saveSpieler")
End Try
'cmd.Connection = conn
'cmd.CommandText = "INSERT INTO Spieler " _
' & "(name, vorname, strasse, land, plz, ort," & _
"telefon, mobil, mail, abschlag, handicap, heimat, heimat_club," & _
"default) VALUES ('" _
' & spieler.Name _
' & "' ,'" & spieler.VName _
' & "' ,'" & spieler.Strasse _
' & "' ,'" & spieler.Land _
' & "' ,'" & spieler.Plz _
' & "' ,'" & spieler.Ort _
' & "' ,'" & spieler.Telefon _
' & "' ,'" & spieler.Fax _
' & "' ,'" & spieler.Mobil _
' & "' ,'" & spieler.Mail _
' & "' ,'" & spieler.Abschlag _
' & "' ,'" & spieler.HCP _
' & "' ,'" & spieler.Heimat _
' & "' ,'" & spieler.HeimatClub _
' & "' ,'" & spieler.PlayerDefault _
' & ")"
'Try
' conn.Open()
' cmd.ExecuteNonQuery()
'Catch ex As Exception
' MessageBox.Show(ex.Message, "saveSpieler")
'End Try
'conn.Close()
End Sub Selbst der Auskommentierte Code in saveSpieler bringt mir die selbe Fehlermeldung!
Wäre wirklich super wenn mir da jemand helfen könnte.
Danke schon mal im vorraus
Ingo |