Foxtable(狐表)用户栏目专家坐堂 → 帮助里复杂网络编号代码出错问题


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

主题:帮助里复杂网络编号代码出错问题

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


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
帮助里复杂网络编号代码出错问题  发帖心情 Post By:2014/2/20 11:55:00 [只看该作者]

帮助中的

 

网络环境下的复杂编号

 

cmd1.commandText = "Select Count(*) From [编号] Where [前缀] = '" & pf & "'"
If cmd1.ExecuteScalar = 0 Then

 

这两句代码   如果返回=0则增加新行记录新表名

 

我现在出现过两回的错误是:编号表又增加了已经存在的表名,从新开始计数

 

这问题怎么优化代码?

 

 


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


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

单凭楼主的2句代码,和简单的描述很难帮上你忙啊.

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


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
  发帖心情 Post By:2014/2/20 13:22:00 [只看该作者]

自动编号代码:   

Dim cmd1 As New SQLCommand
    Dim cmd2 As New SQLCommand
    Dim Key As Integer
    Dim nm As String = e.DataTable.name
    cmd1.ConnectionName =
    cmd2.ConnectionName = 

    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

 

但是出现过两回:  【编号表】重新增加了本来已经存在的表名的新行  ,也就是说 If cmd1.ExecuteScalar = 0 返回来0了。。。


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


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

检查你 NM值是否对.

 回到顶部