Foxtable(狐表)用户栏目专家坐堂 → [讨论] 请大家看看这段代码有什么问题?


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

主题:[讨论] 请大家看看这段代码有什么问题?

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


加好友 发短信
等级:五尾狐 帖子:1042 积分:7475 威望:0 精华:0 注册:2008/8/31 22:52:00
[讨论] 请大家看看这段代码有什么问题?  发帖心情 Post By:2010/3/4 0:04:00 [只看该作者]

dim i2 as integer = 0
for each dr4 as datarow in datatables("审核表").datarows
 if dr4.isnull("姓名ID") then
  dataTables("审核表").dataRows.Delete(i2)
 end if
 i2 = i2 + 1
next

“审核表”中有一"姓名ID"列,字符型的

我想如果"姓名ID"列为空的行,就删除该行

如此简单的事,就是看不出问题在哪里。

提示出错的图:


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/3/4 0:28:00 [只看该作者]

即使你的代码不出错,效率也是最差的。
参考:

1、DataTables("审核表").DeleteFor("[姓名ID] Is Null")

2、
Dim drs As List(Of DataRow) = DataTables("审核表").Select("[姓名ID] Is Null")
For n As integer = 0 To drs.Count - 1
    drs(n).Delete
Next

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/3/4 1:42:00 [只看该作者]

图片点击可在新窗口打开查看
运行逻辑错误,因为遍历到最后一行的时候,i2+1行已经不存在了!
[此贴子已经被作者于2010-3-4 1:45:01编辑过]

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


加好友 发短信
等级:幼狐 帖子:117 积分:1003 威望:0 精华:1 注册:2008/12/2 22:51:00
  发帖心情 Post By:2010/3/4 9:33:00 [只看该作者]

这是可作为控件使用的sharpdevelop的编辑器组件.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:icsharpcode.texteditor.rar


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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
回复:(ssqq)这是可作为控件使用的sharpdevelop的编...  发帖心情 Post By:2010/3/4 10:37:00 [只看该作者]

如何使用?


 回到顶部