Mit C# in Access 2007 Datenbank schreiben

30/12/2009 - 11:44 von Manuel | Report spam
Hallo liebe Community,

ich habe ein Problem, welches ich gar nicht nachvollziehen kann.

mein c# Programm soll in eine Access2007 Datenbank schreiben können.
Die Verbindung làsst sich nur herstellen, wenn ich mein Programm mit
x86 kompiliere. Soweit so gut. Die ersten Tests funktionierten auch
einwandfrei, bis ich festgestellt habe, dass ich nicht in Tabellen
schreiben kann, die den Felddatentyp "Autowert" nicht als
Primàrschlüssel hat.

Wie folgt möchte ich in die Tabelle schreiben:

string strConnectionString = string.Format
(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}\test.accdb;Jet
OLEDB:Database Password=xxx;", Application.StartupPath);

//Datenbankverbindung herstellen
OleDbConnection con = new OleDbConnection
(strConnectionString);
con.Open();

//SQL Befehl zum schreiben der Daten
strSQL = "Insert into Tabelle1(Benutzer, Passwort) Values
('Manuel Testperson', 'test')";
cmd.CommandText = strSQL;
dr = cmd.ExecuteReader();

dr.Close();
con.Close();


Das funktioniert auch gut, solange die Tabelle so aufgebaut ist:

Feldname, Felddatentyp
-
(Primàrschlüssel) ID, AutoWert
Benutzer, Text
Passwort, Text

Sobald die Tabelle aber so aufgebaut ist, funktioniert es nicht mehr.
Dabei achte ich jedoch, dass der Benutzer noch nicht existiert. Es
kommt immer die Fehlermeldung "Syntaxmeldung in der Insert
Anweisung".

Feldname, Felddatentyp
-
(Primàrschlüssel) Benutzer, Text
Passwort, Text

Weiß jemand woran das liegen kann?
 

Lesen sie die antworten

#1 Manuel
30/12/2009 - 11:46 | Warnen spam
Bei der Meldung habe ich mich verschrieben. Sie heißt richtig:
"Syntaxfehler in der Insert Anweisung"

Ähnliche fragen