mySQL
-
Unix-Tom schrieb:
Leider ist mein Buch zu diesem Thema noch nicht fertig sonst könntest du es kaufen.
Das ist natürlich echt schade, aber coole Idee, Marktlücke gefunden, wa!?

Hast du nicht vielleicht doch noch mal nen Beispiel für mich mit deiner Klasse??? Am besten einfach ne Verbindung, bloß noch kompilieren und dann gehts? Also irgendwas, wo man nichts falsch machen kann!
Wie geht das denn eigentlich mit dem linken??? Also was macht man mit den lib-dateien???
Doch, es geht noch leichter

Also hoffe ich mal
-
du fragst, wie man linkt...
das visual studio:
projekt->einstellungen->reiter linker und da deine lib dazuschreiben.
so long
-
SCha mal in meinen Klassenheader. Da wird gelingt mit einem PRAGMA. Meine Wrapper hat die libmysql.lib bereits gelinkt. deshalb brauchst du die nichtmehr.
Lediglich die libmysql.dll und die Headerdateien beginnend bei mysql.h
-
wird ihm nix nützen, da er in diesem fall einen einfachen connect zum testen selber programmiert hat (siehe programm oben).
dann muss er auch selber linken, ob mit pragma oder einstellungen.. ejal
-
#include <stdio.h> #include <mysql.h> MYSQL * hconnection; MYSQL_RES *result_set; MYSQL_ROW row_set; unsigned int i; int main(int argc, char *argv[]) { hconnection = mysql_init(NULL); if (!hconnection) { printf(”Fehler bei mysql_init().\n”); exit(1); } if (!mysql_real_connect( hconnection, “localhost”, “username”, “password”, “datenbank”, 0, NULL, 0)) { printf(”Fehler bei mysql_real_connect().\n”); printf(“%s\n“,mysql_error(hconnection)); exit(1); } if (mysql_query(hconnection,“SQL-String“)) { printf(”Fehler bei mysql_query().\n”); printf(“%s\n“,mysql_error(hconnetion)); } else { result_set = mysql_store_result(hconnection); if (result_set == NULL) { if (mysql_field_count(hconnection) > 0) { printf(”Fehler bei mysql_store_result().\n”); printf(“%s\n“,mysql_error(hconnetion)); } else { /* Die Anfrage an den Server war erfolgreich. Es wurde keine Ergebnismenge erwartet. Wir können nun die Anzahl der Betroffenen Zeilen ausgeben */ printf(„Anfrage war Erfolgreich: %lu Zeilen betroffen\n“,(unsigned long) mysql_affected_rows(hconnection)); } } else { while((row_set = mysql_fetch_row(result_set)) != NULL) { for(i = 0;i < mysql_num_fields(result_set);i++) { printf(“%s\n”,row_set[i]) != NULL ? row_set[i] : “NULL”); } } mysql_free_result(result_set); } } mysql_close(hconnection); exit(0); }Ein funktionierender Client.
Bei seinem ist schon mysql_init() falsch angewendet.
-
Hallo,
also ich muß mich jetzt auch mal einmischen, ich hatte das gleiche Problem.
Mit den Dateien von Unix-Tom funktioniert das ganze aber super und ist auch nicht schwer.
Gruß
Frostie
-
hallo
darum kann es grad nicht gehen.
wenn ich aus übungszwecken einen connect selber machen möchte, mache ich das.
was nützen mir fertige wrapper, wenn ich als anfänger mich mit der materie auseinandersetzen möchte.
hier geht immer was durcheinander.klar mag unix-toms wrapper funktional sein. aber lernen ist lernen.
und es ist darüber hinaus sicher auch nicht falsch, sich mit der mysql++ api von mysql.com auseinanderzusetzen. ich denke, das hat unix tom in seinem buch auch, mal sehen..., denn es gehört zur offiziellen seite der materie.
die mysql entwickler wissen sicherlich ziemlich genau, wie ihre datenbank schnell und sicher anzusprechen ist.
-
Langsam. Auch wenn MySQL AB sagt das MySQL++ eine API ist, muss es nicht so sein. MySQL++ ist nichts anderes als eine Wrapper-Klasse für die C-API.
Da ich meine eigene habe, gehe ich auch nicht auf die MySQL++ ein.
Für mich muss eine API oder Wrapper dazu einfach sein. Einfach kompilieren, einfach einbinden, einfache Befehle. Dies erfüllt MySQL++ nicht. Damals gab es die noch garnicht als ich meine geschrieben habe.
-
Nett, dass ihr alle so viel darüber wisst.. Ich aber nicht... und bei dem funktionierenden Client von Tom krieg ich 85 Fehler. Hier mal nur die in den includes, danach kommen noch welche in der Datei..
c:\programme\microsoft visual studio\vc98\include\mysql_com.h(116) : error C2146: syntax error : missing ';' before identifier 'fd' c:\programme\microsoft visual studio\vc98\include\mysql_com.h(116) : error C2501: 'SOCKET' : missing storage-class or type specifiers c:\programme\microsoft visual studio\vc98\include\mysql_com.h(116) : error C2501: 'fd' : missing storage-class or type specifiers c:\programme\microsoft visual studio\vc98\include\mysql_com.h(180) : error C2065: 'SOCKET' : undeclared identifier c:\programme\microsoft visual studio\vc98\include\mysql_com.h(180) : error C2146: syntax error : missing ')' before identifier 's' c:\programme\microsoft visual studio\vc98\include\mysql_com.h(181) : error C2059: syntax error : ')'
-
IN die Headerdatei stdafx.h musst du die Headerdatei afxsock.h einbinden. Diese ist normalerweise wenn man ein Projekt erstellt und Socketunterstützung aktiviert automatisch dabei.
#include <afxsock.h> // MFC-Socket-Erweiterungen
Ich werde mal ein kl. Project zusammenstellen.
-
Hab jetzt mal nen neues Projekt erstellt, mit MFC, also ich hoffe das ist das mit dem Socket...
Jetzt krieg ich noch einen Fehler:
mysql_test.cpp mysql_test1.cpp c:\programme\microsoft visual studio\myprojects\mysql_test\mysql_test1.cpp(81) : fatal error C1010: unexpected end of file while looking for precompiled header directive Generating Code... Error executing cl.exe. mysql_test.exe - 1 error(s), 0 warning(s)