CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

用DataGrid控件删除记录的问题?

楼主vmaster(似水浮云)2005-12-01 19:54:07 在 VB / 基础类 提问

我在DataGrid控件的属性中勾选了删除和更新,其它代码如下:  
   
  Dim   WithEvents   adoPrimaryRS   As   Recordset     '模块变量  
  ...  
          Set   DG数据表.DataSource   =   adoPrimaryRS         'DG数据表为DataGrid控件  
   
  我在控件中选中了记录,按Delete键删除记录,控件中的记录是删除了,但是再搜索一遍的时候又出现了,文件中的记录根本就没有删除,怎么才能按Delete键时连文件中的记录也删除掉呢? 问题点数:20、回复次数:8Top

1 楼faysky2(出来混,迟早是要还嘀)回复于 2005-12-01 20:11:53 得分 0

删除后加上:  
  adoPrimaryRS.UpdateTop

2 楼faysky2(出来混,迟早是要还嘀)回复于 2005-12-01 20:12:36 得分 0

如果删除了多条:  
  adoPrimaryRS.UpdateBatchTop

3 楼vmaster(似水浮云)回复于 2005-12-01 20:35:17 得分 0

我应该加在哪啊,我不知道DataGrid控件是在哪里响应Delete事件的Top

4 楼vmaster(似水浮云)回复于 2005-12-01 20:41:28 得分 0

我加在AfterDelete事件上:  
   
  Private   Sub   DG数据表_AfterDelete()  
  adoPrimaryRS.Update               '出错,提示“客户事件句柄调用了一个提供者中的非重入方法”  
  End   SubTop

5 楼faysky2(出来混,迟早是要还嘀)回复于 2005-12-01 20:44:56 得分 0

Private   Sub   DataGrid1_AfterDelete()  
          adoPrimaryRS.UpdateBatch  
  End   SubTop

6 楼faysky2(出来混,迟早是要还嘀)回复于 2005-12-01 20:47:48 得分 0

用DataGrid1.Refresh试试Top

7 楼vmaster(似水浮云)回复于 2005-12-01 20:52:30 得分 0

不行啊,对adoPrimaryRS.的操作都出错,DG数据表.Refresh也不行~~Top

8 楼faysky2(出来混,迟早是要还嘀)回复于 2005-12-01 21:24:09 得分 0

不理解你的为什么会那样子  
  我自己试了,用Delete键删除后,再查询,得到的结果删除后的结果,代码如下:  
  Private   Sub   Form_Load()  
          Dim   cn   As   New   ADODB.Connection,rs   As   New   ADODB.Recordset  
          cn.ConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=C:\test1.mdb;Persist   Security   Info=False"  
          cn.CursorLocation   =   adUseClient  
          rs.Open   "table1",   cn,   adOpenDynamic,   adLockOptimistic,   adCmdTable  
          Set   DataGrid1.DataSource=rs  
          MsgBox   rs.RecordCount   '显示记录条数   ,结果为10**************************  
          '....  
  End   Sub  
  ========================================  
  '按Delete键后,再点Command1查询记录条数  
   
  Private   Sub   Command1_Click()  
          Dim   cn   As   New   ADODB.Connection,rs   As   New   ADODB.Recordset  
          cn.ConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=C:\test1.mdb;Persist   Security   Info=False"  
          cn.CursorLocation   =   adUseClient  
          rs.Open   "table1",   cn,   adOpenDynamic,   adLockOptimistic,   adCmdTable  
          MsgBox   rs.RecordCount   '显示记录条数,结果为9*************************  
          '....  
  End   SubTop

相关问题

  • ado 控件datagrid 删除记录问题
  • 如何实现将在DataGrid控件中选中的一行记录,通过程序删除掉?
  • 不用数据邦定的控件,能直接在DATAGRID中添加、修改、删除数据记录吗?
  • 关于Datagrid控件删除的问题?
  • 关于 DataGrid 删除记录
  • 这样删除列表控件中的多行记录?
  • 怎样在MSFlexGrid1控件里删除指定的记录
  • MSFlexGrid1控件里删除指定的记录
  • 如何在MSHFlexGrid控件中删除数据库中的记录?
  • 送分问题:请问如何用Adodc控件删除记录?

关键词

  • 控件
  • datagrid
  • adoprimaryrs
  • 删除
  • 记录
  • afterdelete
  • dg数据表
  • delete键
  • 事件
  • rs

得分解答快速导航

  • 帖主:vmaster

相关链接

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

广告也精彩

反馈

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