Foxtable(狐表)用户栏目专家坐堂 → 修改后的帮助中编号代码问题


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

主题:修改后的帮助中编号代码问题

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


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
修改后的帮助中编号代码问题  发帖心情 Post By:2013/10/28 16:22:00 [显示全部帖子]

帮助中的“网络环境复杂编号”代码稍加修改后如下,今天突然有3条数据串了,经检查“编号”表发现:本来“表名”列有“借款”这个表名,不知为什么又增加了一行相同的表名“借款”,编号从1开始了。删除这行后又正常了。。。为什么呢?“借款”这个表名很难找到么?之前都挺好的,今天突然出这个错,代码有问题?请高手帮我完善下,避免以后再出这个错误。

 

If e.DataTable.Datacols.Contains("编号") Then
    Dim cmd1 As New SQLCommand
    Dim cmd2 As New SQLCommand
    Dim Key As Integer
    Dim nm As String = e.DataTable.name
    cmd1.C '设置数据源名称
    cmd2.C
    cmd1.commandText = "Select Count(*) From [编号] Where 表名 = '" & nm & "'"
    If cmd1.ExecuteScalar = 0 Then '如果编号表不存在前缀的行,那么增加一行
        cmd1.commandtext = "Insert Into 编号 (表名,序号) Values('" & nm & "',1)"
        cmd1.ExecuteNonQuery
    End If
    cmd1.commandText = "Select [序号] From [编号] Where 表名 = '" & nm & "'"
    Do
        Key = cmd1.ExecuteScalar() '从后台获得顺序号
        cmd2.commandText = "Update [编号] Set [序号] = " & (Key + 1) & " Where [序号] = " & Key & " And 表名 = '" & nm & "'"
        If cmd2.ExecuteNonQuery() > 0 Then '更新顺序号
            Exit Do '更新成功则退出循环
        End If
    Loop
    e.DataRow("编号") = key
End If


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


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
  发帖心情 Post By:2013/10/28 16:35:00 [显示全部帖子]

使用了2个月了,一直正常。难道是“If cmd1.ExecuteScalar = 0 Then '”的时候网络有问题,没返回1,于是代码执行了增加行的操作?


 回到顶部