OleDbConnection: Insert von DataTable

26/09/2008 - 20:30 von Alberto Luca | Report spam
Hallo NewsGroup,

ich versuche eine mittels WebService übergebene DataTable (1 bis n Rows) in
eine Access-DB zu inserten.
U.s. Coding führt zu folgenden Fehler:
OleDbException: Syntaxfehler in der INSERT INTO-Anweisung

Da ich ein DataSet, welches besagte DataTable enthàlt mittels WebService
hochlade, kann ich leider auch nicht einfach debuggen.

Coding:
// Connection-String
string lstrConn;
lstrConn = clsDAL.funConnectionString_BW_Dis();

// Connection aufbauen
OleDbConnection lcon;
lcon = new OleDbConnection(lstrConn);

// SQL-Stmt erstellen und ausführen
string lstrSQL;
lstrSQL = "INSERT INTO T_BWtrixiKd"
+ " (trixiNr, EMail, EMailStatus, IVEMail, IVEMailStatus);";

OleDbCommand lcmd;
lcmd = new OleDbCommand(lstrSQL, lcon);

OleDbDataAdapter ladp;
ladp = new OleDbDataAdapter();
ladp.InsertCommand = lcmd;
ladp.Update(pdtInsert); // pdtInsert: gefüllte DataTable



Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Peter Fleischer
26/09/2008 - 21:29 | Warnen spam
"Alberto Luca" schrieb im Newsbeitrag
news:

ich versuche eine mittels WebService übergebene DataTable (1 bis n Rows)
in eine Access-DB zu inserten.
U.s. Coding führt zu folgenden Fehler:
OleDbException: Syntaxfehler in der INSERT INTO-Anweisung



Hi Alberto,
deine SQL-Anweisung ist wirklich falsch.

Da ich ein DataSet, welches besagte DataTable enthàlt mittels WebService
hochlade, kann ich leider auch nicht einfach debuggen.

Coding:
// Connection-String
string lstrConn;
lstrConn = clsDAL.funConnectionString_BW_Dis();

// Connection aufbauen
OleDbConnection lcon;
lcon = new OleDbConnection(lstrConn);

// SQL-Stmt erstellen und ausführen
string lstrSQL;
lstrSQL = "INSERT INTO T_BWtrixiKd"
+ " (trixiNr, EMail, EMailStatus, IVEMail,
IVEMailStatus);";



Da fehlt ide VALUES-KLausel mit dem Fragezeichen für die Parameter.

OleDbCommand lcmd;
lcmd = new OleDbCommand(lstrSQL, lcon);

OleDbDataAdapter ladp;
ladp = new OleDbDataAdapter();
ladp.InsertCommand = lcmd;
ladp.Update(pdtInsert); // pdtInsert: gefüllte DataTable



Nimm besser den CommandBuilder. Der erzeugt funktionierende SQL-Anweisungen.

Viele Gruesse

Peter

Ähnliche fragen