对数据库进行select出现异常(高手进来一下)

ascap 2005-11-02 01:52:25
我用的数据库是sybase11,代码如下,在执行open语句的时候出现异常

_RecordsetPtr m_pRecordset = NULL;
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));

m_pRecordset->CursorType = adOpenStatic;
m_pRecordset->CursorLocation = adUseClient;
m_pRecordset->Open(sql,
m_pConnection.GetInterfacePtr(),
adOpenKeyset,
adLockReadOnly,
adCmdText);

DbSybaseRes* pRS = new DbSybaseRes(m_pRecordset);
if(NULL !=pRS)
return pRS;
}
catch(_com_error& e)
{
WriteLog("SQL %s error: %s\n", sql, e.ErrorMessage());
return NULL;
}
catch(...)
{
WriteLog("执行打开记录集的SQL语句 %s 出现未知的异常错误。 \n", sql);
return NULL;
}
...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ascap 2005-11-02
  • 打赏
  • 举报
回复
bohut(●伯虎● /*儿子出世了*/) 我用了你的方法,不行。
sprintf(connString,"Provider=MSDASQL.1;Persist Security Info=True;UID=%s;PWD=%s;Data Source=%s",m_user,m_password,m_dsn);


sprintf(connString,"Driver={SYBASE SYSTEM 11};Srvr=%s;Uid=%s;Pwd=%s",m_serverName,m_user,"");
是不是上面这两个字符串的原因,但我在执行下面的语句时都没有出错
m_pConnection->Open(connString, "", "", adModeUnknown);
ascap 2005-11-02
  • 打赏
  • 举报
回复
上面的连接是没有通过数据源的,然后执行open的时候就会出现异常,但我用下面通过数据源连接的语句执行连接后,再执行open就没有问题
sprintf(connString,"Provider=MSDASQL.1;Persist Security Info=True;UID=%s;PWD=%s;Data Source=%s",m_user,m_password,m_dsn);


真是奇怪!!!!
ascap 2005-11-02
  • 打赏
  • 举报
回复
下面是连接数据库的代码:
sprintf(connString,"Driver={SYBASE SYSTEM 11};Srvr=%s;Uid=%s;Pwd=%s",m_serverName,m_user,"");
m_pConnection->Open(connString, "", "", adModeUnknown);
bohut 2005-11-02
  • 打赏
  • 举报
回复
试试:
m_pRecordset->Open(sql,m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockPessimistic, adCmdText);

goodboyws 2005-11-02
  • 打赏
  • 举报
回复
能不能给点更详细的信息??

4,012

社区成员

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

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