VC++2010利用Occi处理Oracleo数据库getString方法报错的问题

Oraccle版本:Oracle11g 11.2.0.1
Oracel的Instant Client版本11.2.0.3
Oracle For VC++2010运行库instantclient-basic-nt-11.2.0.3.0.zip

在 ResultSet->getString 时定义:
static string str = ResultSet->getString(1);可以通过,
但 string str = ResultSet->getString(1)报错,

如果ResultSet有多条记录时,由于str是静态变量,无法改变值,求大侠们的解决办法!

我试过用:
Oracel的Instant Client版本11.2.0.4

Oracle For VC++2010运行库instantclient-basic-nt-11.2.0.4zip
但无法建立连接

请高手指点!

没必要用static静态变量啊。都提示你了

不使用static,就报错了!程序非法终止!

到底报什么错。应该不是static的原因。
下断点看ResultSet里面都有什么。

应该执行的语句
图片说明
执行顺序时DIBUG内容如下:
图片说明
此时ResultSet集里的内容如下:
图片说明
最后一条语句执行完以后:

接上:
图片说明
图片说明

如果把:string str = cDBDialog->m_ResultSet->getString(2);
改成:static string str = cDBDialog->m_ResultSet->getString(2);
则不会报错!

求大侠指点!