Silvercreast
Erfahrenes Mitglied
Hallo
Ich habe mal eine Frage und zwar besteht ein großer unterschied zwischen ner Schnittstelle zu einer Access Datenbank und einer Schnittstelle zu einer MySql Datenbank
Ich bin ein absoluter Nobody in MySql ich hab da eigentlich gar keinen Plan von, nur ich benötige eine Schnittstelle von meinem C++ Programm zu meiner MySql Datenbank. Momentan habe ich eine Access Schnittstelle:
Schnittstelle (Laden und Speichern)
Ich hab mich auch schonmal in der FAQ umgeguckt aber das hilft mir nicht so wirklich weiter, da ich vieles nicht kenne über MySql und es dort nicht beschrieben wird. Deswegen hoffe ich ,dass mir jemand eine kleine Hilfe geben kann wie ich diese Access Schnittstelle umbauen kann. Oder komm ich nicht drum rum mich komplett mit MySql zu beschäftigen
P.S Ich habe eine MFC - Anwendung geschrieben
Gruss Silver
Ich habe mal eine Frage und zwar besteht ein großer unterschied zwischen ner Schnittstelle zu einer Access Datenbank und einer Schnittstelle zu einer MySql Datenbank

Schnittstelle (Laden und Speichern)
Code:
void MusicManagement::ReadDB()
{
CDatabase Musik_Daten;
CString DB_File = "MUSIK";
CString sDsn;
CString sDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
CString SqlString;
// The ODBC Connection String
sDsn.Format("ODBC;DRIVER={%s};DSN='MUSIK';DBQ=%s",sDriver,DB_File);
TRY
{
// Open the database
Musik_Daten.Open( "MUSIK" );
// Allocate the recordset
CRecordset recset( &Musik_Daten );
// Build the SQL statement
SqlString = "SELECT ID, Regal, Interpret, Titel, Rubrik, CD "
"FROM tbl_Datenbank";
// Execute the query
recset.Open(CRecordset::forwardOnly,SqlString,CRecordset::readOnly);
// Loop through each record
CString Shelf;
CString Interpreter;
CString Title;
CString Rubric;
CString CD;
while( !recset.IsEOF() )
{
// Copy each column into a variable
recset.GetFieldValue("Regal",Shelf);
recset.GetFieldValue("Interpret",Interpreter);
recset.GetFieldValue("Titel",Title);
recset.GetFieldValue("Rubrik",Rubric);
recset.GetFieldValue("CD",CD);
MusicPiece music;
music.Shelf = Shelf;
music.Interpreter = Interpreter;
music.Title = Title;
music.Rubric = Rubric;
music.CD = CD;
m_MusicCollection.MusicData.push_back( music );
// go to next record
recset.MoveNext();
}
// Close the database
Musik_Daten.Close();
}
CATCH(CDBException, e)
{
// If a database exception occured, show error msg
AfxMessageBox("Database error: "+e->m_strError);
}
END_CATCH;
}
void MusicManagement ::StoreDB(MusicPiece NewSong)
{
CDatabase music_data;
CString SqlString;
CString strErgebnis;
// Open the database
music_data.Open( "MUSIK" );
music_data.BeginTrans();
SqlString.Format( "('%s','%s','%s','%s','%s')",NewSong.Shelf.c_str(),NewSong.Interpreter.c_str(),NewSong.Title.c_str(),NewSong.Rubric.c_str(),NewSong.CD.c_str());
strErgebnis = "Insert into [tbl_Datenbank](Regal,Interpret,Titel,Rubrik,CD) values "; //conection with the databse
strErgebnis += (LPCTSTR)SqlString;
strErgebnis.Replace("''","NULL");
music_data.ExecuteSQL(strErgebnis); // send to database
music_data.CommitTrans(); // stor data
music_data.Close();
}

P.S Ich habe eine MFC - Anwendung geschrieben
Gruss Silver