[C++Builder] MySQL ansprechen
-
Nromalerweise liefert der MySQL-Server die extra für solche sachen SDK mit.
Bei XAMPP ist MySQL ein abgespeckte Version. Da sind nur die Mainframe sachen drin.Solltest dir mal den MySQL-Server von mysql.com runterladen. Benutze aber nen non-installer. Dann mußt du das nur entpacken.
Da sind dateien drin die du aufjedenfalls brauchst.
z.B.: Der ORdner wo mysql-h drinne ist.Dann gibts ne libmysql.lib und libmysql.dll die brauchst du auch, solltest aber aus dem realese ordner nehmen.
Und in der MySQL Doku ist eigentlich alles erklärt. Solltest dich aber mit dem SQL-Statements aus kennen, dazu gibts auch ne Doku.
Habe selbst mit BCB ein Tool programmiert, was MySQL nutzt. ^^
-
Hallo Akari,
ich glaub von dir habe ich auch mal ein Beitrag über das DB Problem gelesen.
Im Prinzip habe ich genau das selbe wie du mal hattest.Mit welchen komponenten bist du dann ran gegangen? Haste es über die ADO Komponenten gemacht?
Hast du vielleicht ein paar Beispielcodes für mich, damit ich mal am Bsp. sehe, wie das funktioniert?! Zusätzlich schau ich mir auch das tutorial an.Gruß
-
Hallo DJ Black Eagle,
dann werde ich mir mal die version ziehen.
Kannste mir vielleicht auch mal einige zeilen Code zeigen, wie du das mit der Datenbank gemacht hast?Vielen Dank!
-
Hallo
@ skluge
auf welches Problem und welchen Beitrag sprichst du genau an?Ich benutzt zur Zeit die MyDAC-Komponenten, die aber nicht frei sind.
Für mein nächstes Projekt steht aber die MySQL C++API an, die auch schon BlackEagle vorgeschlagen hat. Natürlich hast du dann keine schönen Komponenten.bis bald
akari
-
genau diese komponenten habe ich mir auch schon runtergeladen. Bloß habe ich mit diesen Komponenten auch das Problem, dass ich nicht genau weiß, wie ich sie einsetzen soll.
Z.B wie connecte ich mich zu MySQL?
wie trage ich sachen ein?
wo muss ich meine SQL Befehle eintragen?
-
Hallo
schau dir zu MyDAC die mitgelieferten Beispiele unter \CBuilder5\MyDac\Demos an und lad dir die PDF-Doku von der Homepage.
Im Grunde ist es einfach : Du brauchst TMyConnection, um die Datenbank anzusprechen. Dann TMyQuery, um damit über die MyConnection eine Abfrage durchzuführen. Der Rest läuft über die gewohnten Builder-Komponenten, also TDataSource...
bis bald
akari
-
@akari
Man muß ja net nur Kompos nutzen. ^^ Was manchmal einfacher ist.@skluge
Wie du das machst.
Ich post die mal nen Beispiel Code./* Bei mysql_init must du NULL übergeben, sonst kriegst du ein Problem. Das ist BCB spezifischm, wenn ich mich net irre. Steht auch in der Doku von MySQL*/ MYSQL *pMySQLUser = mysql_init(NULL); /* Resource Objekt. Wenn man mysql_query nutzt. */ MYSQL_RES *objResUser; MYSQL_ROW objRowUser; if(!mysql_real_connect(this->pMySQLUser,this->strMySQLHost.c_str(),this->strMySQLUser.c_str(),this->strMySQLPW.c_str(),"",this->iMySQLPort,NULL,0)) { ShowMessage("Can't connect to the MySQL Server (" + this->strMySQLHost +":" + IntToStr(this->iMySQLPort) + ")"); } int iIndex = 0; int iCountRow = 0; AnsiString strSQLQuery = ""; AnsiString strTMP = ""; strSQLQuery = "SELECT name,vorname,user,active,admin_rights,user_id "; strSQLQuery += "FROM amt_global.user;"; if(mysql_query(pMySQLUser,strSQLQuery.c_str()) == 0) { objResUser = mysql_store_result(pMySQLUser); while(objRowUser = mysql_fetch_row(objResUser)) { this->Memo1->Lines->Add("LoginName: " + AnsiString(objRowUser[2])); this->Memo1->Lines->Add("Vorname: " + AnsiString(objRowUser[1])); this->Memo1->Lines->Add("Nachname: " + AnsiString(objRowUser[0])); this->Memo1->Lines->Add(""); } } mysql_close(pMySQLUser); if(pMySQLUser != NULL) { delete pMySQLUser; pMySQLUser = NULL; }
-
im Prinzip habe ich schon verstanden, was du meinst. aber wozu brauche ich denn die DataSource Komponente?
@DJ Black Eagle:
das sieht ja auf den ersten Blick nicht gerade einfach aus *g*
Ich muss doch die mysql.h includen oder?? Wo bekomm ich diese denn her und wie installiere ich die in mein BCB?
-
DJ BlackEagle schrieb:
Nromalerweise liefert der MySQL-Server die extra für solche sachen SDK mit....
Woher steht ja schon in diesem Thread.
Ne, ist eigentlich einfach.
Du mußt nur die lib Datei ins BCB Format wandeln.
Zur Not kann ich dir die Lib uppen mit den ganzen sachen (mysql.h etc.). Da mußt du net den MySQL-Server extra downloaden.
-
Hallo
@skluge
entscheide dich erstmal, welche Möglichkeit du nutzen willst. Es bringt nichts, jetzt beide Ansätze weiterzuverfolgen. Also willst du Komponenten oder nicht?Aßerdem wäre ein wenig mehr Selbststudium von deiner Seite aus gewünscht. Das Thema ist komplex, du kannst nicht erwarten, das wir das alles hier in ein Sätzen erklären können. Also benutzt die Dokus und die Beispiele die bereits genannt worden, und arbeite dich da durch. Auch wenn das ein paar tage dauern wird.
/edit : Wenn du Fragen zu Details hast, kannst du die dann natürlich wieder stellen, nachdem du über Google und die Boardsuche erfolglos warst. Denk immer dran : du bist nicht der erste, der sich in Datenbanken einarbeitet, also wird da sicher für jede Frage bereits etwas zu finden sein.
bis bald
akari
-
Deswegen würde ich eher die MySQL API nehmen.
Da ja alles auf Mysql.com Dokumentiert ist, mit Beispielen.
Und das Updaten ist einfach alls, mit der Kompo.
-
Das ist mir schon klar, dass ihr keine Lust habt das ganze hier hinzuposten. Verstehe ich ja. Mein Problem an der Sache ist immer, wie ich anfangen soll mit dem Problem. Auch was DJ Black Eagle sagt, dass es mit MySQL API einfacher geht, leuchtet mir ein.
Ich versuche ja halt nur rauszufinden, welcher Weg wohl der bessere ist und da hatte ich halt auf eure Hilfe gehoft.
Wenn ihr mir sagt, dass es über dir MySQl API einfacher geht, dann glaub ich euch das. Ich sitze jetzt schon den ganzen langen Tag rum und versuche, endlich eine gute Quelle zu finden, die mir mit meinem Problem weiter hilft, und genau hier sehen ich auch mein Problem, dass ich über Borland nicht genug hilfe finde! Speziell zu den einzelnen Komponenten.Also mache ich mich mal schlau über MySQL API!
-
Habe ja vom Anfang an auf die API verwiesen, siehe 1. Post
-
Ich rede von der API die direkt von MySQL kommt. Weil man da sicher gehen kann, das die mit MySQL Version klappt etc.
-
DJ BlackEagle schrieb:
Ich rede von der API die direkt von MySQL kommt. Weil man da sicher gehen kann, das die mit MySQL Version klappt etc.
Na und von was rede ich, deiner Meinung nach?

-
DJ BlackEagle schrieb:
Ich rede von der API die direkt von MySQL kommt. Weil man da sicher gehen kann, das die mit MySQL Version klappt etc.
Ich sagte die von MySQL kommt und net von einen anderen Entwickler.
-
DJ BlackEagle schrieb:
DJ BlackEagle schrieb:
Ich rede von der API die direkt von MySQL kommt. Weil man da sicher gehen kann, das die mit MySQL Version klappt etc.
Ich sagte die von MySQL kommt und net von einen anderen Entwickler.
verwirrung

trotzdem sollte man ne klasse drum rum baun
-
Hallo
gibt es schon -> zeos
(Wrapper)
Wenn ich mich nicht irre
MfG
Klaus