ComboBox über Select-Abfrage füllen?
-
Hallo,
Ich möchte eine ComboBox mit den Daten aus einer Datenbank (Access) füllen. Ich habe versucht eine Select-Anweisung zu machen, aber da tut sich nix.
CDaoDatabase db; db.Open("E:\\Adressen.mdb"); Cadressen rs(&db); rs.Open(AFX_DAO_USE_DEFAULT_TYPE, "SELECT Straße FROM Adressen", 0); UpdateData(FALSE);Wie bekomm ich die Daten (hier: Straße) in die ComboBox?

-
CDaoDatabase db; db.Open("E:\\Adressen.mdb"); Cadressen rs(&db); rs.Open(AFX_DAO_USE_DEFAULT_TYPE, "SELECT Straße FROM Adressen", 0); while(!rs.IsEOF()) { COleVariant val; rs.GetFieldValue(0,val); CString item =val.pbVal; deineComboBox.AddString(item); rs.MoveNext } UpdateData(FALSE);
-
Was muss ich denn für das "deineComboBox" einsetzen?
Bei allem, was ich versucht habe, kam ein Fehler...
Danke schonmal für die Hilfe!
-
Die Membervariable die für deine ComboBox steht,wenn du keine hast erstellt du so eine:
1.Wähle deine ComboBox im ResourcenEditor aus
2.Klicke rechts und wähle Klassen Assitent
3.Du solltest auf den Reiter Membervariablen sein,nun suche die Steuerelement ID deiner ComboBox und wähle sie aus.
4.Klicke auf neue Variable erstellen
5.Wähle als Kategorie Contoll aus und gib der Variable einen Name,dann klick auf OK
6.Benutze diese Variable an der Stelle von deineComboBox
-
Mein Fehler war, dass die Membervariable kein Control war...
Allerding bleibt die ComboBox immernoch leer! Das DropDown-Feld ist auch groß genug, so dass auf jeden Fall auch genug Platz wäre!
void CShowData::OnStraße() { CDaoDatabase db; db.Open("C:Adressen.mdb"); Cadressen rs(&db); rs.Open(AFX_DAO_USE_DEFAULT_TYPE, "SELECT Straße FROM Adressen", 0); while(!rs.IsEOF()) { COleVariant val; rs.GetFieldValue(0,val); CString item =val.pbVal; m_cStraße.AddString(item); rs.MoveNext(); } UpdateData(FALSE); rs.Close(); db.Close(); }Was kann da noch sein?

-
Der Pfad zu deiner Datenbank sieht falsch aus
-
Ups... Fehler beim rüberkopieren

Passiert aber immer noch nicht...
-
Bau mal einen MessageBox ein die dir Item ausgibt.
-
Ok, jetzt nicht lachen...

Ich denke mal, dass ich da einen ganz doofen Fehler drin hatte! Bisher hatte ich dem nur gesagt, was in die ComboBox rein soll, aber noch nicht wann - soll heißen, es fehlte die Nachricht!
Hab das mal eben geändert...
Allerdings kommt jetzt wieder ein Fehler:
"Fehler bei GetRows-Operation. Die angefordete Spalte ist kein Element der Datensatzgruppe"
DB-Fehler?
-
Hi,
ich komm grade nicht weiter. Ich bekomme nach wie vor folgenden Fehler:"Fehler bei GetRows-Operation. Die angefordete Spalte ist kein Element der Datensatzgruppe"
Ich weiss nicht, wo der liegen soll. Die Datenbankanbindung ist ok, der Spaltenname ist korrekt...
Was kommt sonst noch als Fehlerquelle in Frage?
-
Versuch mal Cadressen durch CDaoRecordset zu ersetzen.
-
Das wars! Danke dir!
