Probleme beim Datenbank editieren
-
mit dem folgendem Code möchte ich eine Datenbank editieren, zuvor habe ich sie ausgelesen und eine komplette Spalte in ein CStringArray kopiert. Dieser wurde verändert und jetzt möchte ich die ganzen Daten wieder in die Datenbank kopieren. Also alles funzt prima - der Array ist ok, habe ich geprüft...
Bei ca 6500 Datensätze erscheint eine Message "Es wurden mehrere Zeilen aktualisiert" woher die Message auch immer kommt... jedenfalls hängt mein tool an dieser Stelle. Reduziere ich die Datensätze auf ca. 80 funzt auch alles prima und das Tool läuft durch. Das Verhlaten ist irgendwie willkürlich... Hat Jemand eine Idee wiso??????db.MoveFirst(); int k=0; while(!db.IsEOF()) { db.Edit(); db.m_Strasse=CStrArrayStrasse[k]; db.Update(); db.MoveNext(); k++; } db.Close(); MessageBox("fertisch");
-
Hat denn nicht jemand eine Idee oder ein Tipp???
Ich habe nochmal folgendes ausprobiertdb.MoveFirst(); int k=0; while(!db.IsEOF()) { db.Edit(); db.m_Strasse="ddd"; db.Update(); db.MoveNext(); k++; } db.Close();...und bekomme immer nach 204 datensatzeinträgen den oben benannten Fehler (message)... er schreibt nur bis zu dieser stelle und dann wird abgebrochen, warum???
ich denke es liegt an der ODBC-Schnittstelle, habe aber keine ahnung mehr was ich machen soll. HILFE!
-
Ich gebe mal einen wagemutigen Tipp ab:
- deine Tabelle hat keinen Primärschlüssel
- deine Tabelle enthält Beispieldaten
- deine Tabelle enthält mehrere (204) identische Datensätze
-> du bist zwar auf dem ersten Datensatz, trotzdem weiss er nicht, welchen Datensatz er editieren soll und daher richtet er sich nach dem Inhalt und der ist bei 204 Datensätzen identisch (also in dem Fall identisch mit dem Datensatz, den er mit MoveFirst gefunden hat) -> Mehrere Datensätze werden geändert.
-
Danke - am Primärschlüssel hats gelegen! Manchmal brauch man nur nen Anstoß von außen
Habe einen Primärschlüssel implemtiert und nun funzt es, er rennt jetzt durch die 6000 datensätze und rödelt. Nun noch eine Verständnisfrage - wie funktioniert das Navigieren allgemein in der ODBC-Schnittstelle? Wenn ein Primärschlüssel definiert ist und wenn nicht! In meinem Beispiel sind alle Datensätze unterschiedlich und somit eindeutig auch ohne Primärschlüssel - auch wenn ich immer das selbe in eine Spalte reinschreibe. Ich dachte immer das Navigieren geschieht unabhängig von allen Datensätzen - wohl nicht.