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

又是VB+SQL!!!是关于删除记录的,欢迎技术灌水。^_^

楼主Smidin(冰刃无痕)2005-08-02 17:47:36 在 VB / 数据库(包含打印,安装,报表) 提问

一个ADO控件,一个DATAGRID控件,一个command(命名为“删除”)  
  怎么写完整的删除记录的代码?  
   
  唯一要求:在删除最后一条记录时,不出错,所有记录删除完后,再点删除,会有提示数据库为空。  
  问题点数:20、回复次数:9Top

1 楼xiaoMONKEY(小猴)回复于 2005-08-02 19:02:12 得分 0

到最后一条,command.enabled=falseTop

2 楼province_(雍昊)回复于 2005-08-02 19:08:57 得分 0

^_^Top

3 楼Swordstone(攀登者)回复于 2005-08-02 21:12:55 得分 0

大姐,这样的问题,你自己多试验一下都有了  
  不就是delete,move   马  
  现在大几阿??Top

4 楼cxbkkk(本命年,旺啊!)回复于 2005-08-02 22:42:38 得分 0

很简单的-_-!  
   
  你用ADODC_movecomplete事件来实现,中间就可以用一个无数据。或者用movenext来实现三,然后用.eof来判断是否为空,如果是就提示数据库为空Top

5 楼Smidin(冰刃无痕)回复于 2005-08-03 12:49:27 得分 0

If   Adodc1.Recordset.BOF   And   Adodc1.Recordset.EOF   Then  
          MsgBox   "该数据库已经为空!",   vbOKOnly   +   vbExclamation,   "提示"  
          Exit   Sub  
  End   If  
  If   MsgBox("确实要删除这条记录吗?",   vbYesNo,   "删除确认")   =   vbYes   Then  
      Adodc1.Recordset.Delete  
      Adodc1.Recordset.MoveNext  
      If   Adodc1.Recordset.EOF   Then  
          Adodc1.Recordset.MoveLast  
      End   If  
  End   If  
  代码如上,怎么改进  
  注:我是小弟,不是大姐。汗ing~~~~~~Top

6 楼dingmin(专顶师太的小PP)回复于 2005-08-03 14:54:48 得分 0

 
  If   Adodc1.Recordset.Recordset<>0   Then  
  on   error   goto   err  
          If   MsgBox("确实要删除这条记录吗?",   vbYesNo,   "删除确认")   =   vbYes   Then  
                  Adodc1.Recordset.Delete  
                  Adodc1.Recordset.MoveNext  
          End   If  
  else  
          MsgBox   "该数据库已经为空!",   vbOKOnly   +   vbExclamation,   "提示"  
          Exit   Sub  
  End   If  
   
  err:  
            MsgBox   "该数据库已经为空!",   vbOKOnly   +   vbExclamation,   "提示"  
           
  首先判断记录集是否为空,有记录则删除,并移动到下一条;  
            如果只有一条记录,则删除记录后跳转至ERR标签;  
  否则;转到ELSE语句。Top

7 楼dingmin(专顶师太的小PP)回复于 2005-08-03 14:56:00 得分 0

呵呵     不小心搞错了   第一句:    
  If   Adodc1.Recordset.Recordcount<>0   ThenTop

8 楼Smidin(冰刃无痕)回复于 2005-08-06 10:41:53 得分 0

dingmin:  
   
  你的代码我试过了,还是有错误的,每次删除后都调用err,还有就是Adodc1.Recordset.MoveNext后面少个If   Adodc1.Recordset.EOF   Then     Adodc1.Recordset.MoveLast,如果没有,在还有三条记录的表里你删除最后一条记录后,它调用err,可是表不为空。不过还是谢谢你的帮助!!  
   
  测试条目:  
  1、对空数据库,点击"删除",有"该数据库没有任何数据!"   提示  
  2、删除第一条记录后,无错  
  3、删除中间任一记录后,无错  
  4、删除最后一条记录后,无错  
  5、删除仅有的一条记录后,提示"该数据库已经为空!"无错  
   
  我上面的代码可以通过前4条测试,但第5条无论如何也通不过,改进又无从下手。郁闷  
  Top

9 楼szmaomao(毛毛)回复于 2005-08-06 11:40:38 得分 20

标签err;上面缺少exit   sub   语句。Top

相关问题

  • 如何在vb中删除sql表中的记录
  • VB、SQL 的添加、保存、删除和刷新操作?
  • 如何在VB中删除SQL一个表中的所有数据?谢谢~
  • VB中如何添加删除SQL Server中的bit型字段的值
  • sql vb
  • VB+SQL
  • VB + SQL?
  • VB+sql
  • VB+SQL
  • VB怎么删除文件~

关键词

  • 数据库
  • 代码
  • 删除
  • adodc1
  • 记录
  • recordset
  • 无错
  • vbokonly+
  • 提示
  • vbexclamation

得分解答快速导航

  • 帖主:Smidin
  • szmaomao

相关链接

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

广告也精彩

反馈

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