Rumah >pangkalan data >tutorial mysql >c++-C++连接mysql数据库时,用getString()方法总是出错
mysqlc++数据库
http://www.cnblogs.com/joeblackzqq/p/4332945.html
我按照上面这个链接的教程,用了第二种Connector C++的方法,配置好boost的路径和mysql的路径后,就修改了一下范例的代码:
<code> #include <iostream>#include <map>#include <string>#include <memory>#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 createStatement(); stat->execute("set names 'gbk'"); ResultSet *res; res = stat->executeQuery("SELECT * FROM testuser"); while (res->next()) { cout getInt("id") getString("name") getString("address") </memory></string></map></iostream></code>
为此我创建了一个数据库tree和表testuser:
<code>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;</code>
准备工作都做好了,然后就开始执行:
问题来了: