Hallo Datenbankfreunde, ich steh aktuell vor einem Problem, das ich mir nicht erklären kann. Ich lese/schreibe mit einer C# .net Applikation in/aus eine/r MS Access Datenbank mit OLE Connection. Nun habe ich eine spezielle Tabelle, die ich mit einem Adapter auslese: (Diese wird auch stetig weitergepflegt und wächst)
1 | string strSQL = "SELECT blabla"; |
2 | OleDbDataAdapter adapt = new OleDbDataAdapter(strSQL, con); |
3 | DataTable dt = new DataTable(); |
4 | adapt.Fill(dt); |
5 | con.Close(); |
6 | DataRow row = dt.Rows[0]; |
Ich lese mir dann also die gesamte erste Zeile aus der Tabelle aus - und das hat bislang immer einwandfrei geklappt. Plötzlich ist mir aufgefallen, dass ab Eintrag mit Index 170 ein Problem besteht. (die Tabelle ist aktuell bei ca 280 Einträgen) Das Statement DataRow row = dt.Rows[0]; liefert mir den Eintrag der 170. Zeile; ich hab das mehrere Male im Debugmodus probiert und konnte es nicht glauben. Da sich mein Code aber nicht verändert hat, schloss ich darauf, dass die Tabelle "zerstört/beschädigt" wurde, also hab ich eine neue Tabelle erstellt und den inhalt der "kaputten" hineinkopiert (einfach in Windows mit copy&paste und die alte gelöscht). Nun noch der neuen Tabelle den alten Namen verpasst und es läuft wieder... Hat jemand eine Idee, was da passiert sein könnte? Vielen Dank