Foxtable(狐表)用户栏目专家坐堂 → 请教:这个问题是怎样造成的呢?


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

主题:请教:这个问题是怎样造成的呢?

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


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
请教:这个问题是怎样造成的呢?  发帖心情 Post By:2013/1/10 19:33:00 [只看该作者]

Dim drs As List (of DataRow) = t.DataTable.Select(flt)
If drs.count>0 Then
    For Each dr As DataRow In drs
       If dr IsNot Nothing Then
             dr.Delete()
       End If
   Next
   t.DataTable.save
End If

 

'flt 为过滤公式。确认无问题。每次删除了一条记录后就会出示以下错误:



此主题相关图片如下:未命名.jpg
按此在新窗口浏览图片
经测试,这个错误是在 dr.delete() 语句产生的。

[此贴子已经被作者于2013-1-10 19:33:41编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/1/10 19:54:00 [只看该作者]

做个例子发上来

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


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

从最后一行往前面行逐行删除才行。

 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2013/1/10 20:28:00 [只看该作者]

以下是引用e-png在2013-1-10 20:02:00的发言:
从最后一行往前面行逐行删除才行。

如何从最后一行往前面逐行删除呢?


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


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

select 用_Identify 倒序试试

不行这样 for i as integer = drs.count-1 to 0 step -1 试试吧。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/11 11:53:00 [只看该作者]

 又或者这样

Dim drs As List (of DataRow) = t.DataTable.Select(flt)
If drs.count>0 Then
    For i as integer = 0 to drs.count - 1
        drs(0).delete
   Next
   t.DataTable.save
End If


 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2013/1/11 12:56:00 [只看该作者]

林总,你的方法行不通啊,又提示另一个错误:不能通过已删除的行访问该行的信息.
[此贴子已经被作者于2013-1-11 13:11:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2013/1/11 13:12:00 [只看该作者]

林总,你的方法行不通啊,又提示另一个错误:不能通过已删除的行访问该行的信息.

 回到顶部
帅哥哟,离线,有人找我吗?
Liuxinyu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:183 积分:1645 威望:0 精华:0 注册:2012/1/4 13:13:00
  发帖心情 Post By:2013/1/11 14:25:00 [只看该作者]

请教各位:

 

既然是删除行,为什么不是直接删除,而是查询之后再删除。既费时,又费力。

 

t.datatable.deletefor(flt)

t.datatable.save

 

在什么情况下,会产生类似楼主的删除动作?

[此贴子已经被作者于2013-1-11 14:26:15编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/11 15:04:00 [只看该作者]

 恩恩,确实,9楼正解。看到本质了。

 回到顶部
总数 11 1 2 下一页