2016-05-15 1 views
0

Je dois insérer mon résultat de simulation dans la base de données. J'utilise le connecteur mysql C++ dans ubuntu et omnet ++. La dernière rangée est en surbrillance. Quel est le problème ici?comment insérer une requête en utilisant le connecteur mysql C++

     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

ouvrir la version ligne de commande de MySql. Exécutez votre requête en utilisant la fenêtre de ligne de commande. Quelles erreurs sont signalées? Veuillez ** modifier ** votre message avec des erreurs. –

Répondre

0

res->executeQuery

Vous ne pouvez pas exécuter une requête sur un jeu de résultats.

essayer ceci:

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

... et pour l'amour de Dieu Entreposez votre déclaration, connexion et le résultat des pointeurs ensemble dans unique_ptrs ...

+0

Vous avez raison, mais pas complètement. Comme c'est un INSERT, 'executeUpdate()' doit être utilisé à la place de 'executeQuery()'. Donc: 'int affected_rows = stmt-> executeUpdate (...);'. – BJovke

+0

@BJovke bonne prise. –