VC6.0利用ADO技术连接sql2000的小疑问

羽毛乱发 2008-09-02 03:28:40
我现在用VC6.0利用ADO技术连接sql2000,在连接记录集的时候,发现一点小问题,
就是我在打开表格的时候,为什么不可以直接进行数据的操作,即:
_RecoresetPtr m_Precordset;
m_Precordset.CreateInstance("ADODB.Recordset");
CString str="Select name from kk where name=name1";
m_Precordset.Open(......)
当我用上面where字符串的话,系统提示出错,但是不用的话就可以,为什么啊? 难道不可以直接查找的?
高手请进,解决下小问题噶~~~~~
...全文
97 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
羽毛乱发 2008-09-04
  • 打赏
  • 举报
回复
高手何在?
羽毛乱发 2008-09-03
  • 打赏
  • 举报
回复
啊 不会吧 这么会这个样子的啊 那帮我先改下 我自己也去看看呢
cxmcxm 2008-09-02
  • 打赏
  • 举报
回复
服务器端游标recordcount会返回-1

要返回记录数,游标类型应设为客户端游标
office软件中有一ado210.chm帮助文件,为全中文的ado帮助,lz可看看.
羽毛乱发 2008-09-02
  • 打赏
  • 举报
回复
阿还有这样子的啊 但是我这个是根据那些教材上面写的 应该不会错吧
fcuandy 2008-09-02
  • 打赏
  • 举报
回复
在有些游标锁定状态下,recordcount属性不可用,所以返回-1.

这个具体记不清了,你查一下ado手册关于 recordset.open 方法里的几个参数说明。
羽毛乱发 2008-09-02
  • 打赏
  • 举报
回复
谢谢关注,分放少了,现在帮忙解决下上面那个问题吧 6#我提的那个问题
羽毛乱发 2008-09-02
  • 打赏
  • 举报
回复
代码如下,高手帮忙看下:
_ConnectionPtr AdoConn;
AdoConn.CreateInstance("ADODB.Connection");
AdoConn->Open("Provider=SQLOLEDB.1;Initial Catalog=TEST;Data
Source=soft06","sa","123",adModeUnknown);

_RecoresetPtr m_Precordset;
m_Precordset.CreateInstance("ADODB.Recordset");
CString str="Select * from kk";
m_Precordset.Open((_variant_t)str,AdoConn.GetInterfacePtr(),
adOpenStatic,adLockOptimistic,adCmdText)

int count=m_pRecordset->GetRecordCount();
调试发现该值 count一直是-1?求教高手哪里出错了!! 是红色字体那边么?
fcuandy 2008-09-02
  • 打赏
  • 举报
回复
你的name1是值,还是CString变量?

值 的话:

CString str="Select name from kk where name='name1'";

如果name1也是一个CString变量:

CString str="Select name from kk where name='" + name1 + "'";
羽毛乱发 2008-09-02
  • 打赏
  • 举报
回复
现在有发现一个问题咯,就是好像我访问不了记录集, 即:
int count=m_pRecordset->GetRecordCount();
上面得到的直是-1 ~~~~~为什么啊?系统没报错啊!
yrwx001 2008-09-02
  • 打赏
  • 举报
回复
CString name1;
_RecoresetPtr m_Precordset;
m_Precordset.CreateInstance("ADODB.Recordset");
CString str="Select name from kk where name='"&name1&"'";
m_Precordset.Open(......)
yrwx001 2008-09-02
  • 打赏
  • 举报
回复
string name1;
_RecoresetPtr m_Precordset;
m_Precordset.CreateInstance("ADODB.Recordset");
CString str="Select name from kk where name='"&name1&"'";
m_Precordset.Open(......)
yrwx001 2008-09-02
  • 打赏
  • 举报
回复
String name1;
_RecoresetPtr m_Precordset;
m_Precordset.CreateInstance("ADODB.Recordset");
CString str="Select name from kk where name='"&name1&"'";
m_Precordset.Open(......)

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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