Foxtable(狐表)用户栏目专家坐堂 → 请教错误原因


  共有10772人关注过本帖树形打印复制链接

主题:请教错误原因

帅哥哟,离线,有人找我吗?
169163
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:464 威望:0 精华:0 注册:2011/8/24 9:47:00
请教错误原因  发帖心情 Post By:2011/9/18 10:27:00 [只看该作者]

准备删除“员工”表的记录,出现错误,请指教,谢谢

 

Dim hs As Integer
For hs=0 To e.DataRow.count
   DataTables("员工").DataRow(hs).delete()
Next


 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2011/9/18 10:38:00 [只看该作者]

你是要删除所有行?  是用按钮删除还是其他?

[此贴子已经被作者于2011-9-18 10:40:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/18 10:43:00 [只看该作者]

错误很多

 

常识错误:

1、DataRow有Count属性吗?

2、行的编号从0开始,最后一行是Count-1,不是Count

 

逻辑错误:

1、假定有3行。

2、第一次执行,hs等于0,删除第一行,原来的第二行成了第一行,第三行成了第二行

3、第二次执行,hs等于1,删除的是现在的第二行,也就是原来的第三行。

3、第三次执行,hs等于2,要删除现在的第三行,可实际上现在只有1行,何来第三行,所以一定会出错。

 

删除所有行的代码很简单:

DataTables("员工").DeleteFor("True")

 

或者:

DataTables("员工").DataRows.Clear

 

 

 

 

[此贴子已经被作者于2011-9-18 10:42:56编辑过]

 回到顶部