visual studio c++ / mysql / mysql++
-
Hi Leute,
bin neuling auf dem Gebiet und versuche grad eine MySQL Datenbank mit Hilfe von c++ anzusprechen.
suche mich schon seit tagen durch netz nach guten Anleitungen für einen Einsteiger aber irgendwie finde ich nichts brauchbares.
versuche die examples, die mysql++ mitliefert zum laufen zu kriegen, bekomme aber folgenden fehler:Fehler 1 fatal error LNK1104: Datei "C:\Programme\MySQL\MySQL.obj" kann nicht geöffnet werden. DatabaseTest
der MySQL Server läuft auf dem Rechner und ich kann per Konsole auch zugreifen und darauf rumspielen.
System: Windows XP.
würde mich über nützliche links oder hilfestellungen sehr freuen. danke!
-
ich hab jetzt alles soweit eingestellt, dass ich die beispieldaten von mysql++ zum laufen kriege.
jetzt würden mich die ersten schritte interessieren, wie ich selber eine verbindung zu einer datenbank aufbauen kann.. ich werd aus der mysql++ doc leider nicht so schlau. habt ihr da bessere tutorials oder tipps? oder ein kleines beispiel. ich programmier unter visual c++, mysql datenbank mit der mysql++ erweiterung.
danke!
-
hi bin jetzt schon ein paar schritte weiter gekommen, habe aber noch ein paar fragen..
hier erstmal der code den ich bisher hab
#include "util.h" #include "stock.h" #include <mysql++.h> #include <stdio.h> #include <mysql.h> #include <winsock.h> #include <iostream> #include <iomanip> #include <vector> #include <string> using namespace std; /* Angaben von host, user, pw und datenbank auf die zugegriffen werden soll */ char *host = "localhost"; char *user = "root"; char *pw = ""; char *db= "mysql_cpp_data"; MYSQL *MySQL; /* Funktion um zu einer Datenbank zu connecten */ bool connect(){ MySQL = mysql_init(NULL); // Verbindung aufbauen if(mysql_real_connect(MySQL, host, user, pw, NULL, 0, NULL, 0)){ return true; }else{ return false; } } /* Funktion um kompletten Inhalt der Datenbank auszulesen */ void show_database(){ MYSQL_RES *result; MYSQL_ROW row; int column; mysql_query(MySQL, "select * from stock"); result = mysql_use_result(MySQL); column = mysql_num_fields(result); printf("\nInhalt:\n\n"); while((row = mysql_fetch_row(result))){ for (int i = 0; i < column; i++){ printf("%s",row[i]); } printf("\n"); } mysql_free_result(result); } /* Funktion zum Einfügen von Daten */ void insert_into_database(){ } int main(){ if (connect() == true){ cout<< "connected\n"; }else{ cout<<"error\n"; mysql_close(MySQL); exit(1); } mysql_select_db(MySQL, db); show_database(); mysql_close(MySQL); mysql_library_end(); }
jetzt zu meinen fragen:
- die funktion into_database.. ich möchte dieser gerne die parameter übergeben und die sollen dann eingefügt werden. hab bisher leider noch keine ahnung wie ich das am besten machen könnte. es klappt nur folgendermaßen:
char *insert = "INSERT INTO `stock` VALUES ('test', '51', '4.43', '9.99', '2007-12-07')"; mysql_query(MySQL, insert);
hier übergebe ich aber nicht der funktion die parameter.
- ich möchte auch bilder in der datenbank abspeichern, bzw. ich möchte den "link" zu einem bild speichern und das bild dann in dem pfad speichern. weiß nicht wie ich das realisieren könnte, würde mich über vorschläge freuen.
danke.
-
Hallo,
ich stehe gerade auch an der mysql.obj Fehlermeldung. Wie hast Du das in den GRiff bekommen?
Grüße Solick
-
Du brauchst mysql++ nicht einbinden den was du machst ist die C-API von MySQL benutzen.
@solick: Dadurch da er MySQL++ nicht verwendet hat er auch diese Probleme nicht. Ich habe damals auch aufgegeben mysql++ zu benutzen und mir meinen eigene Warpper geschrieben.