Laden...

Probleme beim Auslesen aus Access DB

Letzter Beitrag vor 18 Jahren 9 Posts 2.621 Views
Probleme beim Auslesen aus Access DB

Hi,

und zwar hab ich das Problem, dass ich scheinbar ein paar Spalten nicht zurück bekomme...ka woran das liegt...vielleicht hat jemand von euch nen Tipp

zb.

Tabelle: ID Nachname Vorname Ort Alter PLZ
will ich auslesen über (eigentlich egal) SELECT * FROM Tabelle
pack das in ein Datatable und lese das dann zeile für zeile aus (DataRow)

dummerweise kennt er dann zwar DataRow["ID"], DataRow["Ort"], DataRow["Alter"] aber DataRow["Nachname"] und DataRow["Name"] sind - sagt er mir - nicht vorhanden...versteh ich nicht. Gebe ich da Abfrage direkt unter Access ein dann liest er mir ohne Probleme alles aus was ich sehen will...habt ihr ne Erklärung für dieses Phänomen?

Test mal mit:



OleDbConnection con = new OleDbConnection("dein Connectionstring");
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM Tabelle;", con);
DataTable dt = new DataTable("");

da.Fill(dt);
foreach(DataColumns dc in dt.Columns)
Debug.WriteLine(dc.Columnname);








hi,
also er scheint Nachname und Vorname zu kennen - jedenfalls laut deinem schleifendurchlauf....hmm und nun?

Das problem ist dein Spalte Alter.

"Alter" ist ein reserviertes Wort in SQL, und deshalb knallt es.
Du musst die spalte umbenennen.

Klar "ALTER TABLE" (z.B.)!

Du musst dann [Alter] nehmen!

hi

nein am ALTER lags nicht weil das ein beispielattribut war was gar nicht vorkommt (Sorry hatte in dem Moment nicht an die Namensreservierung gedacht und euchsomit auf ne falsche Fährte geführt)

Es lag daran, dass ich x["Vorname"].ToString() versucht habe zu nutzen. Habe nun die Methode ToString weggelassen und schon geht es.

Was ich aber immernoch nicht verstehe ist, dass zum Bleistift x["Ort"].ToString() funktioniert hatte...

Hallo medi,

ich würde in einem solchen Fall 'Convert.ToString()' dringend empfehlen, da 'ToString()' je nach vorhandenem Datentyp anders reagiert.

Wenn Du zwingend den Inhalt eines Objektes als einen String haben möchtest, ist 'Convert.ToString()' zu nehmen.

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

@medi

War das Feld Vorname leer (DBNull) !

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

aha gute tipps...danke euch beiden 🙂