ASP.net / ADO.net
Frank aus Ulm
- datenbank
Hi, hallo
heute hab ich auch mal wieder ein Problemchen.
ich habe eine kleine Spielwiese in MS Access mit zwei Tabellen (völlig unabhängig voneinander)
Tabelle 1:
iID -> Long Integer -> PK, unique, not null, auto_increment
ETSI_ref -> Text(50) -> not null
ETSI_intern -> Text(50) -> not null
ETSI_offiz -> Text(50) -> not null
prec_ETSI_id -> Long Integer -> not null, default = 0
Tabelle 2:
iID -> Long Integer -> PK, unique, not null, auto_increment
feld1 -> Text(50) -> not null
feld2 -> Text(50) -> not null
ich lege mir ein DataSet Objekt an, fülle es über den OleDBDataAdapter, generiere die Insert-Commands und so mit dem OleDBCommandBuilder(dataAdapObj) und füge der DataTable 5 Zeilen hinzu: (mittels for to next)
dim mdataRow as dataRow = dataSetObj.Tables("tabelle1").NewRow
mdataRow("ETSI_ref") = "test" & laufVariable.toString
mdataRow("ETSI_intern") = "intern" & laufVariable.toString
mdataRow("ETSI_offiz") = "offz" & laufVariable.toString
mdataRow("prec_ETSI_id") = laufVariable
dataTableObj.rows.add mdatarow
dataAdapObj.update(dataSetObj,"tabelle1")
(laufvariable ist Long Integer)
und es passiert folgendes:
mit Tabelle 1 erhalte ich ein Insert Into Syntax Error und mit Tabelle 2 klappt es (beim .update)
Warum? Ich kann keinen richtigen Unterschied zwischen den beiden Tabellen feststellen, warum es mit der einen geht und mit der anderen nicht.
ich habe vor dem Update einen Haltepunkt, wo ich in die Objekte schauen kann und sehe, dass da beim DataAdapObj keine Einträge beim Insert-Command drin stehen, obwohl es eigentlich müßte .. auch bei beiden Tabellen nicht und egal ob ich da jetzt dem Adapter das bom CommandBuilder generierte SQL angebe ... gleiches Ergebnis.
Hab ich irgendwas übersehen? Hat jemand Anregungen?
Danke und bis denn!
Frank