84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
1、使用c++返回mysql中的varchar类型数据,resultset的getString方法返回该数据报错,使用try catch语句显示为bad allocation.2、代码:
#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" #include 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/jwsystem", "root", "123456"); cout << "succeed!" << endl; } catch (...) { cout << "fail!" << endl; } sql::Statement* stat = conn->createStatement(); stat->execute("set names 'gbk'"); ResultSet *res; res = stat->executeQuery("select * from semester"); while (res->next()) { try{ string s = "_semester"; cout << "semester\t:" << res->getString(s) << endl; } catch (exception e) { cout<< e.what(); } } if (conn != 0) { delete conn; } system("pause"); }
3、
认证高级PHP讲师
认证高级PHP讲师