CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

rs.Delete时提示提示“查询过于复杂”怎么会事?

楼主zhuixing(ABC)2004-08-04 15:58:28 在 VB / 基础类 提问

我用的access数据库,连接串如下,ConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Persist   Security   Info=False;Data   Source="   &   App.Path   &   "\db1.mdb"  
  然后定义记录集打开表,  
  rs.Open   "select   *   from   table1",   aConnect,   adOpenKeyset,   adLockOptimistic  
  打开方式如上,然后Set   DataGrid1.DataSource   =   rs  
  当鼠标指到某记录时执行删除操作,       rs.Delete   就出错?  
  出错提示       实时错误‘-2147467259(80004005)’:查询过于复杂  
   
  不知道为什么,我连sqlserver   就没问题,请大家帮忙解决?! 问题点数:30、回复次数:12Top

1 楼computer17(黄昏之路づ流浪汉)回复于 2004-08-04 16:06:53 得分 1

把你的删除代码发出来看看/Top

2 楼SoHo_Andy(冰)回复于 2004-08-04 16:10:55 得分 2

估计时删除无法定位,就是没有唯一的删除标志字段  
   
  因为你说的不清楚,所以无法进一步解释了Top

3 楼zhuixing(ABC)回复于 2004-08-04 16:16:13 得分 0

If   MsgBox("确实要删除这条记录吗?",   vbExclamation   +   vbYesNo,   "删除确认")   =   vbYes   Then  
                  rsItem.Delete         'adAffectCurrent  
                  rsItem.Update  
          End   If  
  说的还不清楚吗,很简单啊,这是删除代码啊  
   
  SoHo_Andy(冰)   标志地段,我有一个自动加一的id啊,不重复的,Top

4 楼SoHo_Andy(冰)回复于 2004-08-04 16:35:18 得分 0

鼠标指到某记录时执行删除操作,       rs.Delete   就出错?  
   
  是否你的意思是鼠标指到datagrid的一条记录,然后rs.Delete  
  datagrid是怎样与rs建立的动态连接的关系?  
  Top

5 楼rainstormmaster(暴风雨 v2.0)回复于 2004-08-04 16:44:04 得分 3

我的建议是:用数据窗体向导生成一个数据窗体(在数据窗体向导-form这一步,窗体布局选择   网格(数据表),绑定类型选择   ado代码,然后看看里面的代码(和你的代码对比一下   )Top

6 楼zhuixing(ABC)回复于 2004-08-05 09:24:18 得分 0

SoHo_Andy(冰)   :是否你的意思是鼠标指到datagrid的一条记录,然后rs.Delete出错  
  是的   ,datagrid就是定义一个记录集打开一个表,然后给datagrid副数据源  
  strsql   =   "select   *   from   table1"  
  Set   rsItem   =   New   ADODB.Recordset  
  rs.Open   strsql,   aConnect,   adOpenKeyset,   adLockOptimistic  
  Set   DataGrid1.DataSource   =   Nothing  
  Set   DataGrid1.DataSource   =   rs  
  就这样动态连接的啊  
   
    rainstormmaster(暴风雨   v2.0)   怎么生成向导数据窗体啊?  
   
   
  Top

7 楼zhuixing(ABC)回复于 2004-08-05 09:28:53 得分 0

最后Set   DataGrid1.DataSource   =   rs写错了是Set   DataGrid1.DataSource   =   rsItem  
  Top

8 楼rainstormmaster(暴风雨 v2.0)回复于 2004-08-05 09:43:11 得分 0

//rainstormmaster(暴风雨   v2.0)   怎么生成向导数据窗体啊?  
   
  工程-添加窗体   选中   vb   数据窗体向导   打开Top

9 楼computer17(黄昏之路づ流浪汉)回复于 2004-08-05 11:18:56 得分 2

当鼠标指到某记录时执行删除操作,       rs.Delete   就出错?  
  出错提示       实时错误‘-2147467259(80004005)’:查询过于复杂  
  楼主,你看看这条.鼠标指向当前记录只是在你显示的地方并没有指向你要删除的那条记录  
  你指向某条记录之后再用关键字到表里查找这条记录再删除就差不多了啊Top

10 楼SoHo_Andy(冰)回复于 2004-08-05 14:50:23 得分 2

rs.Delete   之前一般是使用Find方法定位记录  
  或者使用filter来过滤  
   
  你在datagrid里选中一条记录,对于已经绑定完毕的记录集来讲没有任何关系  
  Set   DataGrid1.DataSource   =   Nothing  
  Set   DataGrid1.DataSource   =   rs  
   
  这之后就没有任何联系了Top

11 楼Litao81(123)回复于 2004-09-02 14:58:25 得分 18

用sql语句写,delete   from   table   where   关键字段=‘’Top

12 楼Leftie(左手,为人民币服务)回复于 2004-09-02 15:02:54 得分 2

估计数据库中有完全重复的记录存在,请在数据的表中增加一自动递增的列再试试Top

相关问题

  • 查询提示错误
  • 如何屏蔽access查询的提示信息
  • 大家看看这个查询怎么提示错误呀?
  • Tell Me Why ? 提示:单行子查询返回多余一行
  • 查询提示TOO MANY table names ... 如何处理
  • 为什么用rownum和子查询提示缺少右括号?
  • vb查询access,提示错误:3075,操作符丢失
  • 查询分析器出现“警告”提示
  • 我在做查询的问题,提示types of expressions must match.详情请进!
  • Access的查询为什么总是提示“请输入参数值”?

关键词

  • 鼠标
  • 向导
  • 查询
  • 数据
  • datagrid
  • 代码
  • 执行
  • 连接
  • 窗体
  • 记录

得分解答快速导航

  • 帖主:zhuixing
  • computer17
  • SoHo_Andy
  • rainstormmaster
  • computer17
  • SoHo_Andy
  • Litao81
  • Leftie

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo