VS Express 2013 C ++ con el conector MySQL STMT-> EXECUTUSTICERY () ERROR -- ++ campo con mysql campo con sql campo con mysql-connector camp Relacionados El problema

VS Express 2013 C++ with MySQL Connector stmt->executeQuery() error


1
vote

problema

Español

Así que finalmente obtuve VS 2013 C ++ para conectar con MySQL usando el conector C y C ++ y lo sé porque puedo agregar una tabla a mi DB usando la función STMT- & GT; EJECUTE ().

Ahora, estoy tratando de obtener las filas que usan el resultado del resultado para recuperar de la función EXECUTUSQUERY, pero este error aparece:
ingrese la descripción de la imagen aquí
Aquí está mi código:

  #include <iostream> #include <string>  #include "mysql_connection.h" #include "mysql_driver.h" #include <cppconn/driver.h> #include <cppconn/exception.h> #include <cppconn/resultset.h> #include <cppconn/statement.h> #include <cppconn/prepared_statement.h>  #define dbHOST "tcp://127.0.0.1:3306" #define dbUSER "root" #define dbPASS "root" #define dbDB   "db_test"  using namespace std; using namespace sql;  int main() {     sql::mysql::MySQL_Driver *driver;     sql::Connection *con;     sql::Statement *stmt;     sql::ResultSet *res;      driver = sql::mysql::get_driver_instance();     con = driver->connect(dbHOST, dbUSER, dbPASS);      stmt = con->createStatement();     string query = "SELECT * FROM test";     res = stmt->executeQuery(query.c_str());      while (res->next()) {         cout << "id = " << res->getInt(1);          cout << ", label = '" << res->getString("label") << "'" << endl;     }      delete res;     delete stmt;     delete con;      system("pause");     return 0; }   

Bajo el panel de salida, también muestra esto:

  First-chance exception at 0x77661D4D in MySQLConnect.exe: Microsoft C++ exception: sql::SQLException at memory location 0x0088FB5C.  Unhandled exception at 0x77661D4D in MySQLConnect.exe: Microsoft C++ exception: sql::SQLException at memory location 0x0088FB5C.   

Bajo la pila de llamadas después de golpear F5 y se rompe, muestra esto:

mysqlconnect.exe! Main () Line 35 C ++

Línea 35 es la línea con res = stmt- & gt; ejecututequery (query.c_str ());

Avísame saber si necesita más información sobre mi código / configuración. ¡Gracias de antemano!

Original en ingles

So I finally got VS 2013 C++ to connect with mySQL using the Connector C and C++ and I know this because I am able to add a table into my DB using the stmt->execute() function.

Now, I am trying to get the rows using the ResultSet to retrieve from function executeQuery, but this error shows up:
enter image description here
Here is my code:

#include <iostream> #include <string>  #include "mysql_connection.h" #include "mysql_driver.h" #include <cppconn/driver.h> #include <cppconn/exception.h> #include <cppconn/resultset.h> #include <cppconn/statement.h> #include <cppconn/prepared_statement.h>  #define dbHOST "tcp://127.0.0.1:3306" #define dbUSER "root" #define dbPASS "root" #define dbDB   "db_test"  using namespace std; using namespace sql;  int main() {     sql::mysql::MySQL_Driver *driver;     sql::Connection *con;     sql::Statement *stmt;     sql::ResultSet *res;      driver = sql::mysql::get_driver_instance();     con = driver->connect(dbHOST, dbUSER, dbPASS);      stmt = con->createStatement();     string query = "SELECT * FROM test";     res = stmt->executeQuery(query.c_str());      while (res->next()) {         cout << "id = " << res->getInt(1);          cout << ", label = '" << res->getString("label") << "'" << endl;     }      delete res;     delete stmt;     delete con;      system("pause");     return 0; } 

Under the output pane, it shows this as well:

First-chance exception at 0x77661D4D in MySQLConnect.exe: Microsoft C++ exception: sql::SQLException at memory location 0x0088FB5C.  Unhandled exception at 0x77661D4D in MySQLConnect.exe: Microsoft C++ exception: sql::SQLException at memory location 0x0088FB5C. 

Under the call stack after I hit F5 and it breaks, it shows this:

MySQLConnect.exe!main() Line 35 C++

Line 35 is the line with res = stmt->executeQuery(query.c_str());

Let me know if you need more information on my code / settings. Thanks in advance!

           

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Silly Me, descubrí cuál es el problema.
Tengo que añadir en una línea:

  Option Button 14  

Antes de poder hacer cualquier otra consulta para esa base de datos. El fragmento es ahora así:

  Option Button 15  

¡Espero que esto ayude!

 

Silly me, I found out what is the problem.
I have to add in a line:

stmt->execute("USE " dbDB); 

before I can do any further query for that database. The snippet is now like this:

stmt = con->createStatement();  stmt->execute("USE " dbDB);              // <-- This line, change dbDB to your own string query = "SELECT * FROM test";     // <- before all of these below res = stmt->executeQuery(query.c_str()); 

I hope this helps!

 
 

Relacionados problema

0  Exportación de datos de MySQL a CSV en Python  ( Exporting data from mysql into csv in python ) 
import mysql.connector sql = "SELECT r.sensorID, s.area, r.date, r.Time, r.waterLevel, r.redalert FROM sensor s INNER JOIN rainfall r ON s.sensorID = r.sens...

0  MySQL-Connector-Python GBK codificando error  ( Mysql connector python gbk encoding error ) 
Tengo una tabla de datos de codificación de GBK. A veces, falló un inserto SQL con una cadena Unicode con excepción: mysql.connector.errors.programmingError...

0  ¿Por qué el inserto de MySQL QUERIS en no se presenta con selección  ( Why mysql queris insert into does not show up with select ) 
Estoy creando y llenando una base de datos con MySQL y Python. Yo uso MySQL Workbench para visualizar mi base de datos en tiempo real. Una de mis funciones es...

2  MySQL .NET Conector Documentación Confusión  ( Mysql net connector documentation confusion ) 
MySQL 5.0 Conector.net ejemplos estados: GetByTes devuelve el número de bytes disponibles en el campo. En la mayoría de los casos, esta es la longitud ex...

0  Conector MySQL / C ++ OS X 10.9 Mavericks y Xcode 5.0.2  ( Mysql connector c os x 10 9 mavericks and xcode 5 0 2 ) 
Me he actualizado a Xcode 5.0.2 junto con OS X 10.9 Mavericks y MySQL 5.6.16 recientemente. ¿Alguien ha tenido alguna suerte obteniendo el conector / C ++ de ...

2  Python 3.x acceder a los resultados de cursor.callproc  ( Python 3 x accessing results of cursor callproc ) 
necesito ayuda para entender la siguiente situación. Quiero llamar a un procedimiento almacenado de MySQL y almacenar el resultado en una variable y luego acc...

0  Seleccione más de una fila  ( Select more than one row ) 
void BaseMySQL::QueryArray(char *InQuery,std::string outResult[]) { query_state = mysql_query(con, InQuery); if (query_state !=0) { printf("%s",m...

0  Fugas de memoria con el conector MySQL + Python  ( Memory leaks with mysql connector python ) 
Yo uso MySQL 5.7.24 con Laragon en Windows 10 (I7-9700K CPU 3.60 GHz) RAM 16 Ir. Python 3.7 a través de ANACONDA + MYSQL Conector 8.0.18. Estoy haciendo algun...

0  AbstractMethodError cuando se usa la función isValid () con el objeto de conexión MYSQL [DUPLICAR]  ( Abstractmethoderror when using isvalid function with mysql connection object ) 
Esta pregunta ya tiene respuestas aquí : java.lang.abstractmethoderror: com.mysql.jdbc.connection.is...

1  ¿Puede PHP Array pasó el método poste para atrapar en MVC ASP.NET?  ( Why would connecting to a mysql database from java get denied access ) 
¿Por qué se conectaría a una base de datos MySQL de Java se le niega el acceso? 0123456789012345222 Estoy tratando de conectarme a MySQL desde Java y obteng...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos