Foxtable(狐表)用户栏目专家坐堂 → System.IndexOutOfRangeException: 索引超出了数组界限


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

主题:System.IndexOutOfRangeException: 索引超出了数组界限

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)学会调试 If dr1 IsNot Nothing...  发帖心情 Post By:2022/12/15 13:00:00 [只看该作者]

代码二:

Public Sub form673_save_Ajax(rq As Request)
Me.tablesave(rq) '保存数据表
Dim dr As DataRow = rq.result '返回当前保存的数据行,可再处理数据
If dr IsNot Nothing Then
    Dim lb As String = dr("分类代码")
    Dim idx As Integer
    Dim cmd As N ew S QLCommand
    cmd.Conne ctio nName = "主数据源"
    cmd.CommandText = "Sele ct * From 办案装备_管理台账 where 分类代码 = '" & lb & "' "
    Dim dt As DataTable = cmd.ExecuteReader()
    If dt.DataRows.Count>1 Then
        cmd.CommandText = "sel ect Max(编号) from 办案装备_管理台账 where 分类代码 = '" & lb & "'"
        Dim max As String
        max = cmd.ExecuteScalar()
        If max > "" Then '如果存在最大编号
            idx = CInt(max.Substring(max.length - 3)) + 1  '获得最大编号的后三位顺序号,并加1
        Else
            idx = 1 '否则顺序号等于1
        End If
    Else
        idx = 1 '否则顺序号等于1
    End If
    If dr("编号")<> Nothing Then
    Else
        dr("编号")=lb & Format(idx,"000")
    End If
    dr.Save
End If
rq.e.WriteString(rq.msg.ToString)
End Sub

 

 

运行效果:【数据库中会有两个001,然后会002,003,004递增,有没有办法修正上述代码,只让001出现一次】


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:107187 积分:545184 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/15 13:33:00 [只看该作者]

If dt.DataRows.Count>1 Then这个判断去掉,多余

 回到顶部
总数 12 上一页 1 2