OCCI访问ORACLE,getString()有问题

qiuzhuoxian 2010-12-10 08:40:01

dbAccessor obj;
obj.Init();//用户名、密码、数据库名初始化
bool conn = obj.Connect_DB();
if(!conn) exit(1);
string sql = "select name from A where rownum<10";
ResultSet* rs = obj.ExecuteQuery(sql.c_str());
while(rs->next())
{
cout<<rs->getString(1)<<endl;//第一种
string name = rs->getString(1)<<endl;
cout<<name<<endl; //第二种
}


按理说应该是每个结果打印两遍
开始运行结果是有的内容打印了两遍,有的第二种方式打印的时候打印结果为空,类似于下面:
张三
张三
李四

王五
王五
赵六

王七
王七
好奇怪的结果啊,百思不得其解,太诡异了,初步猜想是字符编码的问题,猜想会不会是那个没打印出来的内容正好编码比较特殊,但是没有验证。请各位高手指点一下,出现这种情况是何原因啊
...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
iihero_ 2010-12-10
  • 打赏
  • 举报
回复
单步调试跟踪一遍,就知道什么原因了。
  • 打赏
  • 举报
回复
这个应该是语言控制的问题吧?
去c++版块问问

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧