Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 09:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C/C++ via MySQL

Discussion on C/C++ via MySQL within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1

 
damona's Avatar
 
elite*gold: 199
Join Date: Dec 2010
Posts: 2,161
Received Thanks: 2,695
C/C++ via MySQL

Hallöchen,
und zwar ich suche schon seit geraumer Zeit ein tutorial oder nen Buch wo erklärt wird wie man mit c/c++ in der console mit dem c++ connector mit mysql verbindung kann sowie querys (select/update/insert) ausführen kann. Die bisherigen tut waren alle mist bzw. haben nicht funktioniert (meist odbc treiber den ich eher meiden will)

würde mich über nen link oder nen namen eines Buches freuen.
damona is offline  
Old 11/21/2012, 17:59   #2
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
als erstes hast du einen ptr auf ein "sql:river" objekt.
Code:
sql::Driver* gDriver = nullptr;
...
gDriver = get_driver_instance();
weiter gehts mit einer connection
Code:
sql::Connection* gConnection = nullptr;
das driver objekt hat eine member func namens "connect", ich denke der name erklärt schon was die macht. diese funktion returned einen ptr des connection objekts.
Code:
gConnection = gDriver->connect(mysql_host, mysql_user, mysql_password);
damit wäre schon eine verbindung hergestellt.
wenn man jetzt eine database auswählen will ist das auch noch recht easy:
Code:
gConnection->setSchema(mysql_database);
jetzt zu dem wichtigen kram wie queries

den kann man z.b. auf diese art ausführen:
Code:
sql::PreparedStatement* statement = gConnection->prepareStatement("SELECT * FROM table WHERE 1"); // query vorbereiten, im nächsten beispiel mehr ;)
sql::ResultSet* result = statement->executeQuery(); // und ausführen
man kann das auch noch etwas fortführen:
Code:
sql::PreparedStatement* statement = gConnection->prepareStatement("SELECT * FROM table WHERE name = ?"); // query vorbereiten, das ? ist ein platzhalter!
statement->setString(1,mysql_name); // den platzhalter mit dem string 'mysql_name' ersetzen!
sql::ResultSet* result = statement->executeQuery();
verarbeiten von dem ergebnis
Code:
if(result->next()) // im prinzip ist das mysql_fetch_row
    varString = result->getString(1); // alternativ kann die 1 auch der name eines fields sein!
wenn eines der objekte nicht mehr benötigt wird einfach mit "delete" löschen

ist zwar auch nicht das beste was man bekommen kann, mehr habe ich dazu allerdings auch nicht rausgefunden
Tyrar is offline  
Thanks
1 User
Old 11/21/2012, 18:24   #3

 
damona's Avatar
 
elite*gold: 199
Join Date: Dec 2010
Posts: 2,161
Received Thanks: 2,695
@heavyhacker
dank dir hat mir schon einiges weiter geholfen auf jeden fall besser als das was ich bis jetzt gefunden, jetzt ist das auch einleuchtend mit den Querys da die meisten Tutorials das komplett anders ausgeführt haben ;D da ich von Java komme ähnelt deine Query Ausführung ;D
damona is offline  
Old 11/23/2012, 07:23   #4
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by damona View Post
@heavyhacker
dank dir hat mir schon einiges weiter geholfen auf jeden fall besser als das was ich bis jetzt gefunden, jetzt ist das auch einleuchtend mit den Querys da die meisten Tutorials das komplett anders ausgeführt haben ;D da ich von Java komme ähnelt deine Query Ausführung ;D
tja das ist auch nur das was ich hauptsächlich selbst rausgefunden habe... die doku ist echt ziemlich müllig
Tyrar is offline  
Old 11/24/2012, 00:26   #5

 
damona's Avatar
 
elite*gold: 199
Join Date: Dec 2010
Posts: 2,161
Received Thanks: 2,695
Quote:
Originally Posted by HeavyHacker View Post
tja das ist auch nur das was ich hauptsächlich selbst rausgefunden habe... die doku ist echt ziemlich müllig
So Jetzt nur noch linker error:
error LNK2001: Nicht aufgelöstes externes Symbol "_get_driver_instance".

weiß einer wie ich das beheben kann ?
damona is offline  
Reply


Similar Threads Similar Threads
Mysql fehler 1130-Host 'xxxx' is not allowed to connect to this MySQL server
10/18/2012 - Metin2 Private Server - 0 Replies
Ich brauche eure hilfe ich wollte einen P-server machen und benutzte Navicat für die DatenBank aber beim ersten mal ging es doch ich hatte dann die DB gelöscht,weil ich ein neues script hatte und dann wollte ich wieder eins machen aber es ging nicht so wie oben der Fehler ich bitte um hilfe danke :) aber bitte so schnell wie möglich um antwort danke Liebe Grüße : Silver2011
MySQL-Fehler ("socket:'/tmp/mysql.sock' doesn't exist)
10/10/2012 - Metin2 Private Server - 3 Replies
Ohai M2-Community, nachdem ich nun schon etliche Male versucht habe, MySQl 5.5 zu installieren, erscheint immer der gleiche Fehler und mir ist es nicht möglich mit der Datenbank zu verbinden. Fehler: http://i.epvpimg.com/48mUd.png
MySQL - L server through socket '/tmp/mysql.sock' (38) failed, retrying in 5 secon
06/28/2012 - Metin2 Private Server - 2 Replies
Hi EPvP I have one problem whit my server. I install a new game + db and i start him L server through socket '/tmp/mysql.sock' (38) failed, retrying in 5 secondsSuccess HOTBACKUP Why?
MySQL Navicat 1130-Host'5.xxx.xx.xxx' is not allowed to connect to the MySQL Server
08/07/2010 - Metin2 Private Server - 14 Replies
Hallo com, ich habe ein Problem mit Navicat. Undzwar habe ich diesen Fehler hier : "1130-Host'5.xxx.xx.xxx' is not allowed to connect to the MySQL Server" seid gestern. Ich dachte mir mal ich änder mein Navicat Passwort um... Als ich dies getan habe, und meinen Server rebootet habe und Navicat neugestartet habe, und ich mich wieder in Navicat einloggen wollte kam diese Fehlermeldung. Nun habe ich das Problem das ich mich nicht mehr mit Navicat connecten kann. Habe schon alles versucht...



All times are GMT +2. The time now is 10:01.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.