Foxtable(狐表)用户栏目专家坐堂 → [求助]用得很好的代码突然报错……


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

主题:[求助]用得很好的代码突然报错……

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


加好友 发短信
等级:一尾狐 帖子:476 积分:4039 威望:0 精华:0 注册:2011/11/2 8:55:00
[求助]用得很好的代码突然报错……  发帖心情 Post By:2013/9/27 15:05:00 [只看该作者]

Dim dt As DataTable = DataTables("异动总表")
Dim nums As List(Of String) = dt.GetUniqueValues("学号 is not null", "学号")
Dim idxs As String = ""
For Each num As String In nums
    Dim drs As List(Of DataRow) = dt.Select("学号 = '" & num & "'", "异动日期")
    For i As Integer = drs.Count - 2 To 0 Step -1
        Dim bf As DataTable = DataTables("异动备份")
        Dim ndr As DataRow = bf.AddNew()
        For Each c As DataCol In bf.DataCols
            ndr(c.Name) = drs(i)(c.Name)
        Next
        idxs = idxs & drs(i)("_Identify") & ","
    Next
Next

dt.DeleteFor("_Identify in (" & idxs.Trim(",") & ")")

运行之后,显示
图片点击可在新窗口打开查看此主题相关图片如下:报错.jpg
图片点击可在新窗口打开查看
请问这可能是什么原因啊

5天前我还用得很好……

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/27 15:08:00 [只看该作者]

你弹出一下你拼接的 idxs 看看就知道了.   

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/9/27 15:29:00 [只看该作者]

idxs是个空值,就报错了

 


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


加好友 发短信
等级:一尾狐 帖子:476 积分:4039 威望:0 精华:0 注册:2011/11/2 8:55:00
  发帖心情 Post By:2013/9/27 16:04:00 [只看该作者]

idxs是什么意思啊,是在哪里弹出呢?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/27 16:09:00 [只看该作者]

额.... 这个不是你写的代码吗?  idxs不是你自己声明的变量嘛?  messagebox.show(idxs)弹出啊.

晕死,混了2年了.怎么这个都没搞清楚.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/27 17:04:00 [只看该作者]

判断一下,有符合条件的行才执行:
 
Dim dt As DataTable = DataTables("异动总表")
Dim nums As List(Of String) = dt.GetUniqueValues("学号 is not null", "学号")
Dim idxs As String = ""
For Each num As String In nums
    Dim drs As List(Of DataRow) = dt.Select("学号 = '" & num & "'", "异动日期")
    For i As Integer = drs.Count - 2 To 0 Step -1
        Dim bf As DataTable = DataTables("异动备份")
        Dim ndr As DataRow = bf.AddNew()
        For Each c As DataCol In bf.DataCols
            ndr(c.Name) = drs(i)(c.Name)
        Next
        idxs = idxs & drs(i)("_Identify") & ","
    Next
Next
If idxs > "" Then
    dt.DeleteFor("[_Identify] in (" & idxs.Trim(",") & ")")
End If

 回到顶部