源代码如下:
#include <iostream>
#include <stdio.h>
#include <occi.h>
using namespace oracle::occi;
int main()
{
Environment *env;
Connection *conn;
Statement *stmt;
//连接 char struser[]="test";
char strpwd[]="test";
char strconn_string[]="192.168.1.1:1521/orcl";
env = Environment::createEnvironment(Environment::OBJECT);
conn = env->createConnection(struser,strpwd,strconn_string);
if( NULL != conn )
printf("conn success \r\n");
else
printf("conn fail \r\n");
////执行sql,返回结果并显示
char strname[100];
stmt = conn->createStatement( "select * from table1");
ResultSet *rset = stmt-> executeQuery();
while( rset->next() )
{
strcpy(strname,rset->getString(1).c_str());
printf("test strnanme =%s",strname);
}
//关闭
stmt->closeResultSet(rset);
conn->terminateStatement(stmt);
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
return 0;
}
这些源码都是网上搜来的,能连接上数据库,但是根本没有执行printf("test strnanme =%s",strname);
这语句,所以得不到记录集。请高手指教指教!到底哪里搞错了!!
#include <iostream>
#include <stdio.h>
#include <occi.h>
using namespace oracle::occi;
int main()
{
Environment *env;
Connection *conn;
Statement *stmt;
//连接 char struser[]="test";
char strpwd[]="test";
char strconn_string[]="192.168.1.1:1521/orcl";
env = Environment::createEnvironment(Environment::OBJECT);
conn = env->createConnection(struser,strpwd,strconn_string);
if( NULL != conn )
printf("conn success \r\n");
else
printf("conn fail \r\n");
////执行sql,返回结果并显示
char strname[100];
stmt = conn->createStatement( "select * from table1");
ResultSet *rset = stmt-> executeQuery();
while( rset->next() )
{
strcpy(strname,rset->getString(1).c_str());
printf("test strnanme =%s",strname);
}
//关闭
stmt->closeResultSet(rset);
conn->terminateStatement(stmt);
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
return 0;
}
这些源码都是网上搜来的,能连接上数据库,但是根本没有执行printf("test strnanme =%s",strname);
这语句,所以得不到记录集。请高手指教指教!到底哪里搞错了!!
http://linbren.blog.163.com/blog/static/5568030820089196560641/
注意点是我那个是oracle10g的,所以oraocci9.lib改成了oraocci10.lib
还有这个你要根据自身情况进行修改:char strconn_string[]="192.168.1.1:1521/orcl";
楼上那位兄弟,我指的是LINUX C++,你那个贴是VC++的,不同系统环境的.
在确定数据库连接成功的前提下:
表table1的所有者是不是连接的用户test;
表里是否有数据。。