2016-05-15 8 views
0

Ich muss meine Simulation Ergebnis in Datenbank einfügen.Ich benutze mysql C++ - Anschluss in ubuntu und omnet ++. Die letzte Zeile ist markiert.Was ist das Problem hier?wie Abfrage mit mysql C++ Connector einfügen

     sql::Driver *driver; 
         sql::Connection *con; 
         sql::Statement *stmt; 
         sql::ResultSet *res; 

         driver = get_driver_instance(); 
          con = driver->connect("TCP://127.0.0.1:3306", "root", "963369"); 

          con->setSchema("db_teste_omnet"); 
          stmt = con->createStatement(); 

         ev << "Inserting into DB \n"; 
         res->executeQuery("insert into omnetpp.sensor1 (dateTime, readings) values ('1', '2')"); 
+0

die Befehlszeilenversion von MySql Aufmachen. Führen Sie Ihre Abfrage über das Befehlszeilenfenster aus. Welche Fehler werden gemeldet? Bitte ** bearbeiten Sie Ihre Nachricht mit Fehlern. –

Antwort

0

res->executeQuery

Sie können eine Abfrage auf einer Ergebnismenge nicht ausgeführt werden.

versuchen Sie stattdessen:

res = stmt->executeQuery(....)

... und um Himmels willen Laden Sie Ihre Aussage, Verbindung und führen Satz Zeiger in unique_ptrs ...

+0

Sie haben Recht, aber nicht vollständig. Da dies ein INSERT ist, muss 'executeUpdate()' anstelle von 'executeQuery()' verwendet werden. Also: 'int affected_rows = stmt-> executeUpdate (...);'. – BJovke

+0

@BJovke guten Fang. –