当前位置:Gxlcms > mysql > c++-C++连接mysql数据库时,用getString()方法总是出错

c++-C++连接mysql数据库时,用getString()方法总是出错

时间:2021-07-01 10:21:17 帮助过:43人阅读

mysqlc++数据库

http://www.cnblogs.com/joeblackzqq/p/4332945.html
我按照上面这个链接的教程,用了第二种Connector C++的方法,配置好boost的路径和mysql的路径后,就修改了一下范例的代码:

 #include #include #include #include #include "mysql_driver.h"#include "mysql_connection.h"#include "cppconn/driver.h"#include "cppconn/statement.h"#include "cppconn/prepared_statement.h"#include "cppconn/metadata.h"#include "cppconn/exception.h"using namespace std;using namespace sql;int main(){    sql::mysql::MySQL_Driver *driver = 0;    sql::Connection *conn = 0;    try    {        driver = sql::mysql::get_mysql_driver_instance();        conn = driver->connect("tcp://localhost:3306/tree", "root", "123");        cout << "连接成功" << endl;    }    catch (...)    {        cout << "连接失败" << endl;    }    sql::Statement* stat = conn->createStatement();    stat->execute("set names 'gbk'");    ResultSet *res;    res = stat->executeQuery("SELECT * FROM testuser");    while (res->next())    {        cout << "Id      :" << res->getInt("id") << endl;        cout << "Name    :" << res->getString("name") << endl;        //cout << "Address :" << res->getString("address") << endl;    }    if (conn != 0)    {        delete conn;    }    system("pause");}

为此我创建了一个数据库tree和表testuser:

create database tree;use tree;create table testuser(id INT(4) PRIMARY KEY,name CHAR(25),address varchar(45));desc testuser;insert into testuser values(1,'Tom','China Beijing'),(2,'Amy','America NewYork');select*from testuser;

准备工作都做好了,然后就开始执行:
问题来了:
这个是运行后的截图:

就弹出了这个错误

点击调试后,显示这个错误信息:

我注释掉getString()方法后,就可以运行,而且连接也是成功的:

而且两次同时都有这些错误信息:

人气教程排行