MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 2070|回复: 0
打印 上一主题 下一主题

[VC相关] 新人求指点 官网提供的mysql++应用问题

[复制链接]
跳转到指定楼层
1#
发表于 2014-4-20 08:28:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我按照教程写了一个例子程序

int _tmain(int argc, _TCHAR* argv[])
{
mysqlpp::Connection conn(false);

if (conn.connect("MyTestdb1", "localhost", "root", "hechi14")) {
mysqlpp:uery query = conn.query("select phone from mytable");
if (mysqlpp::StoreQueryResult res = query.store()) {
cout << "We have:" << endl;
mysqlpp::StoreQueryResult::const_iterator it;

for (it = res.begin(); it != res.end(); ++it) {
mysqlpp::Row row = *it;
cout << '\t' << row[0] << endl;
}
}
else {
cerr << "Failed to get item list: " << query.error() << endl;
return 1;
}

return 0;
}
else {
cerr << "DB connection failed: " << conn.error() << endl;
return 1;
}
return 0;
}
编译通过,但是运行的时候在在迭代器it = res.begin() 这一块总是出现读写错误,感觉是迭代器没有取到内容,但是我在mysql的command line client执行查询语句都可以的啊?我用的社区版的mysql5.6,msql++版本是3.2.1

PS: 我表中的结构是
|Name        | Sex        | Age        |Phone            |
PS又PS:
我用query.use就没问题
if (mysqlpp::UseQueryResult res = query.use())
{
cout << "We have:" << endl;
while (mysqlpp::Row row = res.fetch_row())
{
cout << row[1]<<endl;
}
return 0;

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶1 踩
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-5-17 11:16 , Processed in 0.063644 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表