Mysql Connector / C或Mysql Connector / C ++使用?

时间:2013-11-18 21:44:24

标签: c++ mysql sql c visual-studio

我使用visual studio 2012.我有控制台应用程序。我应该连接到mysql服务器,我使用mysql Connector / C ++,但是当我从表中读取时,例如,如果我应该得到'word',我会得到四个未知符号,'word',之后有很多未知符号(也有单词)并以致命错误结束。有什么问题?我应该使用连接器C吗?

这是我的代码`

sql::mysql::MySQL_Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
driver = sql::mysql::get_mysql_driver_instance();
con = driver->connect("localhost", "root", "pass");
stmt = con->createStatement();
stmt->execute("USE mail_members");
sql::ResultSet* res = stmt->executeQuery("SELECT id FROM messages");
int k = 0;
res->next();
std::cout << res->getString("id").asStdString();
delete con;
delete stmt;

有人使用Mysql connector.c ++吗?

P.S。这是我的消息表`

Field    Type    NULL     Key     Default  |  Extra
id       int(11) Yes              NULL
message  text    YES              NULL

我在其他应用程序中使用MysqlConnector / C#并且它正常工作,可能这不起作用,因为我的应用程序是consiole(使用stdafx文件)?

1 个答案:

答案 0 :(得分:0)

您的代码是否会抛出任何异常?

我将字段名称放入std::string,然后传递给结果集方法:

const std::string   name = fri.get_field_name();
unsigned int        result_value = m_resultset.getUInt(name);

在我的表中,记录ID字段是整数而不是字符串。

+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| ID_Title | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| Title    | varchar(64)      | NO   | UNI | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
2 rows in set (0.08 sec)

您的ID字段是否为字符串?