有在vs2003下利用occi连接过oracle数据库的高手-------请进入,愿给以重谢,跪求问题解决之道...
您好:
我的问题是这样的:
我在vs2003下,利用occi接口查询oracle数据库.
当我执行以下代码:
Environment * env=Environment::createEnvironment(Environment::DEFAULT);
Connection *conn=env->createConnection("system", "test","(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.1.247)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = test)))");
Statement* stmt = conn->createStatement("select * from stu_ifno where stu_name = 'aa'");
ResultSet * rset=stmt->executeQuery();
查询结果正常.可是我修改代码如下(动态查询):
Environment * env=Environment::createEnvironment(Environment::DEFAULT);
Connection *conn=env->createConnection("system", "test","(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.1.247)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = test)))");
Statement* stmt = conn->createStatement("select * from stu_ifno where stu_name = :1");
stmt->setString(1, "aa");
ResultSet * rset=stmt->executeQuery();
这是就出现了异常,错误提示为:在要求输入数字处找到非数字字符.
然后我用同样的代码在vs2005下测试,也完全正常.
为什么vs2003下不能使用setString()呢?
肯请高手解答,必有重谢.
联系方式: dnc2588@163.com
qq: 182445917
tel: 13810712913
联系人: 王先生
期待您的答案......