以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论] 请大家看看这段代码有什么问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=6089)

--  作者:wcs
--  发布时间: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
--  发布时间: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

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

--  作者:ssqq
--  发布时间:2010/3/4 9:33:00
--  

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

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


--  作者:hejfen
--  发布时间:2010/3/4 10:37:00
--  回复:(ssqq)这是可作为控件使用的sharpdevelop的编...

如何使用?