Daten aus Datenbank(Access) in Combobox anzeigen lassen



  • hi
    wenn ich eine Combobox habe und möchte darin Daten aus einer Datenbank(Access)
    anzeigen lassen, dann muss man doch zuerst die Datenbank öffnen und dann eine
    Schleife über die Datensätze laufen lassen.

    Wie ich eine Datenbank öffne und auf Daten zugreifen kann ,weiß ich.
    Ich der OnNewDocument Funktion steht dass ganze zeug

    Aber wie muss ich dass mit einer Combobox machen?
    Muss das in die OnInitDialog Funktion schreiben?

    BOOL CDbAdoDoc::OnNewDocument()
    2: {
    3: if (!CDocument::OnNewDocument())
    4: return FALSE;
    5:
    6: // ZU ERLEDIGEN: Hier Code zur Reinitialisierung einfügen
    7: // (SDI-Dokumente verwenden dieses Dokument)
    8: // Verbindungszeichenfolge und SQL-Befehl festlegen
    9: m_strConnection = _T("Provider=MSDASQL.1;Data Source=VCPP21DB");
    10: m_strCmdText = _T("select * from Adressen");
    11:
    12: // Zeiger auf Recordset und Bindung initialisieren
    13: m_pRs = NULL;
    14: m_piAdoRecordBinding = NULL;
    15: // COM-Umgebung initialisieren
    16: ::CoInitialize(NULL);
    17: try
    18: {
    19: // Datensatzobjekt erzeugen
    20: m_pRs.CreateInstance(__uuidof(Recordset));
    21:
    22: // Datensatzobjekt öffnen
    23: m_pRs->Open((LPCTSTR)m_strCmdText, (LPCTSTR)m_strConnection,
    24: adOpenDynamic, adLockOptimistic, adCmdUnknown);
    25:
    26: // Zeiger auf Bindungsschnittstelle des Datensatzes holen
    27: if (FAILED(m_pRs->QueryInterface(__uuidof(IADORecordBinding),
    28: (LPVOID *)&m_piAdoRecordBinding)))
    29: _com_issue_error(E_NOINTERFACE);
    30: // Datensatzklasse an Recordset binden
    31: m_piAdoRecordBinding->BindToRecordset(&m_rsRecSet);
    32:
    33: // Zeiger auf Ansicht holen
    34: POSITION pos = GetFirstViewPosition();
    35: CDbAdoView* pView = (CDbAdoView*)GetNextView(pos);
    36: if (pView)
    37: // Datensatzgruppe mit Formular synchronisieren
    38: pView->RefreshBoundData();
    39: }
    40: // Fehler vorhanden?
    41: catch (_com_error &e)
    42: {
    43: // Fehler anzeigen
    44: GenerateError(e.Error(), e.Description());
    45: }
    46:
    47: return TRUE;
    48: }
    

    danke


Anmelden zum Antworten