Oracle的ODBC连结问题

jzd1997 2004-10-06 04:26:07
我用如下方式连结了数据库
CString csConn;

csConn = "ODBC;DSN=PGX01;";
csConn += "UID=PUR01;";
csConn += "PWD=PUR01;";
if(!datab.Open( NULL, FALSE,FALSE,
_T(csConn)),FALSE)
{
return false;
}
然后我用如下方式连结数据库
Arg_obj_Record.m_pDatabase = &datab;
//(1)Arg_obj_Record.Open(CRecordset::snapshot,Arg_str_SQL,CRecordset::none);
//(2)Arg_obj_Record.Open(CRecordset::dynaset,Arg_str_SQL,CRecordset::none);
Arg_obj_Record.Open(CRecordset::forwardOnly,Arg_str_SQL,CRecordset::none);

(1)当用snapshot方式打开Record的时候,报"Fetch前没有绑定Field"的错误
(2)当用dynaset方式打开Record的时候,报"cursor不支持dynaset"的错误,但是我看了许多网上资料
大家似乎只要连结的时候不加载cursor library,也就是打开数据库的最后一个参数为FALSE就可以支持dynaset的啊!
现在我只能用forwardOnly方式打开Record,很是不方便。哪为GGJJ知道阿。
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzd1997 2004-10-06
  • 打赏
  • 举报
回复
找到我的错误了,if(!datab.Open( NULL, FALSE,FALSE,
_T(csConn)),FALSE)
_T(csConn))多了一个")",连结的时候最后一个FALSE没起作用,去掉就可以用dynaset了.
laker_tmj 2004-10-06
  • 打赏
  • 举报
回复
up learn
xindao_wang 2004-10-06
  • 打赏
  • 举报
回复
我一般采用这种方式。
if(!datab.Open( NULL, FALSE,FALSE, _T(csConn)),TRUE)
{
return false;
}
//CT1Set为先声明的CRecordSet类
CT1Set Arg_obj_Record(&datab);

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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