Avatar billede thomashove Nybegynder
20. februar 2002 - 16:55 Der er 4 kommentarer og
1 løsning

Connecte til MySQL

Hvad er der af muligheder for at få forbindelse til en MySQL database fra C++Builder 5 hvis det er et krav at MyODBC IKKE må benyttes...

har undersøgt lidt diverse og fundet ud af at libmysql.dll muligvis er en mulighed, jeg mangler dog at finde source koden / dokumentation til denne dll således at jeg kan se hvilke parametre de enkelte funktioner tager.

Det kunne også være rart med et kode eksempel på hvordan man får forbindelse...!!
Avatar billede jpk Nybegynder
20. februar 2002 - 17:00 #1
Jeg tror du skal bruge MySQL C++ API'en

http://www.mysql.com/documentation/mysql++/index.html
Avatar billede thomashove Nybegynder
20. februar 2002 - 17:03 #2
Den har jeg kigget på - men kunne ikke lige hitte ud af hvordan den skal bruges (det skal lige siges at jeg ikke er hardcore c++ programmør ;o) ). Det ville være rart hvis en lige gad komme med et simpelt eksempel...
Avatar billede jpk Nybegynder
20. februar 2002 - 17:11 #3
Du skal naturligvis downloade API'en først, for at kunne bruge den.
På denne side http://www.mysql.com/download_mysql++.html kan du hente den version der passer til din compiler.

Dette er et simpelt eksempel:


#include <iostream>
#include <iomanip>
#include <sqlplus.hh>
 
int main() {
  Connection con("mysql_cpp_data");
  // The full format for the Connection constructor is
  // Connection(cchar *db, cchar *host="",
  //            cchar *user="", cchar *passwd="")
  // You may need to specify some of them if the database is not on
  // the local machine or you database username is not the same as your
  // login name, etc..
 
  Query query = con.query();
  // This creates a query object that is bound to con.
 
  query << "select * from stock";
  // You can write to the query object like you would any other ostrem
 
  Result res = query.store();
  // Query::store() executes the query and returns the results
 
  cout << "Query: " << query.preview() << endl;
  // Query::preview() simply returns a string with the current query
  // string in it.
 
  cout << "Records Found: " << res.size() << endl << endl;
 
  Row row;
  cout.setf(ios::left);
  cout << setw(17) << "Item"
      << setw(4)  << "Num"
      << setw(7)  << "Weight"
      << setw(7)  << "Price"
      << "Date" << endl
      << endl;
 
  Result::iterator i;
  // The Result class has a read-only Random Access Iterator
  for (i = res.begin(); i != res.end(); i++) {
    row = *i;
    cout << setw(17) << row[0]
        << setw(4)  << row[1]
        << setw(7)  << row["weight"]
      // you can use either the index number or column name when
      // retrieving the colume data as demonstrated above.
        << setw(7)  << row[3]
        << row[4] << endl;
  }
  return 0;
}
Avatar billede thomashove Nybegynder
21. februar 2002 - 15:15 #4
Fandt selv en løsning uden om nogen tredjeparts API. Inkluderede bare mysql.h samt tilføjede libmysql.lib til mit projekt og vupti så var der hul igennem til databasen... ;o)
Avatar billede medions Nybegynder
07. januar 2004 - 13:51 #5
thomashove> Er det sådan at du gider at poste koden her?

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester