Laden...

Probleme beim Auslesen aus Access DB

Erstellt von medi vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.610 Views
M
medi Themenstarter:in
126 Beiträge seit 2005
vor 18 Jahren
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?

D
155 Beiträge seit 2005
vor 18 Jahren

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);








M
medi Themenstarter:in
126 Beiträge seit 2005
vor 18 Jahren

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

F
10.010 Beiträge seit 2004
vor 18 Jahren

Das problem ist dein Spalte Alter.

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

D
155 Beiträge seit 2005
vor 18 Jahren

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

Du musst dann [Alter] nehmen!

M
medi Themenstarter:in
126 Beiträge seit 2005
vor 18 Jahren

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...

4.506 Beiträge seit 2004
vor 18 Jahren

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!”

4.221 Beiträge seit 2005
vor 18 Jahren

@medi

War das Feld Vorname leer (DBNull) !

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

M
medi Themenstarter:in
126 Beiträge seit 2005
vor 18 Jahren

aha gute tipps...danke euch beiden 🙂