DB



  • Hi @ all

    Kann mir jemand mal genau erklären wie ich eine Access -DB öffne und mittels SQl update etc.

    Will kein MFC-Assi benutzen !!!!

    Danke
    Gruß



  • wenn du kein MFC benutzen willst dann bist du hier im falschen Forum;)



  • Was heißt

    dann bist du hier im falschen Forum

    ????

    Natürlich will ich MFC benutzen, nur nicht den Assi !!!!!
    Soviel ich weiß besteht MFC nicht nur aus dem Assi !!!

    Gruß



  • achso🙄
    hab wohl nicht richtig gelesen:D



  • Zum öffnen:

    CDaoDatabase db;
    db.Open("DerPfadzudeinerDatenbabnk);
    

    Zum ausführen von SQl-Befehlen(nur Update,Insert und Delete für Select brauchst du CDaoRecordset):

    db.Execute("DeinSqlBefehl);
    

    [ Dieser Beitrag wurde am 18.09.2002 um 13:24 Uhr von Andorxor editiert. ]



  • sorry habs vergessen zu erwähnen, ich muss ODBC benutzen.

    Was MFC und Datenbanken angeht bin ich noch ein Anfänger. Dementsprechend kann ich mit der Aussage von "Andorxor" nicht viel Anfangen.

    Wie muss ich denn CDatabase includieren, wenn ich ein Objekt davon erstellen will.



  • Wenn du ODBC verwenden willst kannst du CDaoDatabase nicht verwenden die Klasse ist für den direkten Zugriff auf ein Accessdatenbank.Für ODBC brauchst du CDaodatabase.
    Das musst du includieren um CDatabase zu nutzen.

    #include <afxdb.h>
    

    So öffnest du die Datenbank

    CDatabase db;
    db.Open("Der Name deiner ODBCdatenquelle");
    

    So führst du SQLcode aus(Wenn du nicht weisst was SQl ist,solltest du dringend ein Tutorial dazu lesen,denn ohne SQl kommst du bei Datenbanken nicht weit.):

    db.ExecuteSQL("Dein SQL Befehl");
    

    Das müsste reichen wenn du die Daten nur verändern willst,um sie zu lesen brauchts du noch CDatabaseRecordset,das habe ich aber noch nicht verwendet und kann dir daher dabei nicht helfen.



  • Leider klappt es nicht so einfach, wie ich es mir gedacht habe !!

    Ich hab die DB in die SystemDSN eingetragen.
    Hab folgenden Code:

    CDatabase db;
    db.Open("prufdb");
    
    db.ExecuteSQL("INSERT INTO pruef (ronr) VALUES ('1')");
    

    Bei der Ausführung kriege ich folgende Meldung:

    Der Datenquellenname wurde nicht gefuden, und es wurde kein Standardtreiber angegeben.

    **

    Kann es sein, dass bei db.Open noch "ODBC;DSN=MyDSN" fehlt ???
    Oder so ähnlich ??

    Gruß**



  • Versuch

    db.OpenEx("DNS=prüfdn");
    

    [ Dieser Beitrag wurde am 18.09.2002 um 15:01 Uhr von Andorxor editiert. ]



  • Wo gehört es denn hin ???
    Habs so versucht:

    db.Open(_T("pruefdb"),FALSE,FALSE,
        _T("ODBC;DSN=pruefdb"));
    

    klappt leider immer noch nicht ??

    Noch andere Vorschläge ???

    Gruß



  • Mein Vorschlag weiter oben sollte funktionieren.



  • Seltsam:

    Wenn ich als DSN den Microsoft Access-Datenbank eintrage dann funzt es, nur dann muss ich die DB nochmal auwählen.
    Wenn ich aber den Datenbanknamen eintrage, geht es nicht mehr.

    Woran liegt es ???



  • Schau mal in die FAQ.


Log in to reply