Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » SQL-Abfragen in VC++ 6

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.04.2006, 09:02 Uhr
muck2000



Hi,

ich bin gerade an meinem ersten Project mit DB Abindung.(VC++ 6, mySQL5) der Einfachheit halber habe ich die DB per ODBC angebunden(mann muß ja mal klein anfangen ). Funzt einwandfrei. Anbei mal meine Funktion für das Einfügen eines neuen Datensatz. Jetzt möchte ich das ganze per SQL machen.
Nur, wie setze ich einen SQL aus VC++ an die DB ab? Mir fehlt irgendwie der Ansatz. Alles was ich versucht habe geht schon beim Compelieren schief.

C++:
void CPdfView::OnNeuerDatensatz()
{
    CRecordset* pSet = OnGetRecordset();
    if (pSet->CanUpdate() && !pSet->IsDeleted())
    {        
        pSet->Edit();
        if (!UpdateData())
            return;
        pSet->Update();
        {
            long m_NewID = m_pSet->GetMaxID() +1;
            m_pSet->AddNew();
            m_pSet->m_ID = m_NewID;
            m_pSet->m_PatNr = m_iPatNr;
            m_pSet->m_DokName = m_sDatName;
            m_pSet->m_Datum = m_ErzDatum;
            m_pSet->Update();
            m_pSet->Requery();
            m_pSet->MoveLast();
            UpdateData(FALSE);
        }
    }
}



Wenn´s nicht zu viel ist vielleicht noch ein Tipp wie und wo ich das Ergebniss abfange.

Gruß Sven
--
Nimm das Leben nicht so ernst, da es eine Sache ist aus der Du eh nicht lebend raus kommst!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.04.2006, 12:44 Uhr
mmc20
puss in boots


hi, wenn du mit ergebnis meinst ob der DB-zugriff fehlerfrei verlief, dann hab ich das (zumindest bei ODBC) immer so gemacht

C++:
try {
    m_pSet->Edit();
} catch( CDBException* Fehler ) {
    AfxMessageBox( "Fehler: " + Fehler->m_strError );
    delete Fehler;
    return;
}


schau dir mal die CDBException-members an, da gibts direkt einen returncode.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.04.2006, 17:11 Uhr
muck2000



Joop, das fehlt natürlich noch.
--
Nimm das Leben nicht so ernst, da es eine Sache ist aus der Du eh nicht lebend raus kommst!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.04.2006, 16:17 Uhr
law



sofern ich das verstanden hab willst sql befehle absetzen in der Form von "Select * from 'user' where nick='hans'";

google mal nach mysql++
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.04.2006, 16:59 Uhr
xXx
Devil


und lass das direkt sein... wenn de MySQL benutzen willst(wovon hier nirgendwo was steht...) dann schreib dir nen eigenen kleinen Wrapper... MySQL++ ist viel zu umständlich
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.04.2006, 17:21 Uhr
mmc20
puss in boots


wenns "nur" um SQL-strings geht...

C++:
CString sFeldName = "Vorname";
CString sFilter = "Max";

try {
    m_pSet->m_strFilter.Format("[%s] = '%s'", sFeldName, sFilter);
//   m_pSet->m_strSort.Format("%s ", sFeldName);
    m_pSet->Requery();
    if ( m_pSet->GetRecordCount() > 0 ) {
        // hier dann die gefundenen records verarbeiten
    }
} catch( CDBException* Fehler ) {
    AfxMessageBox( "Fehler: " + Fehler->m_strError );
    delete Fehler;
}


Dieser Post wurde am 11.04.2006 um 17:26 Uhr von mmc20 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
12.04.2006, 08:24 Uhr
muck2000



Danke für die Antworten.

Habs jetzt so gelöst:

C++:
CRecordset* pSet = OnGetRecordset();
pSet->m_pDatabase->ExecuteSQL("INSERT INTO PDF (DokName) VALUES '" + m_sDokName + "'");


--
Nimm das Leben nicht so ernst, da es eine Sache ist aus der Du eh nicht lebend raus kommst!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: