Foxtable(狐表)用户栏目专家坐堂 → 老师自动编号有部分代码,读不懂,请帮忙解释一下


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

主题:老师自动编号有部分代码,读不懂,请帮忙解释一下

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


加好友 发短信
等级:童狐 帖子:210 积分:1790 威望:0 精华:0 注册:2017/6/28 16:46:00
老师自动编号有部分代码,读不懂,请帮忙解释一下  发帖心情 Post By:2021/2/4 17:52:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:自动编号1.png
图片点击可在新窗口打开查看

老师编号列是字符型,怎么可以转换成整数型呢?还有这部分代码不是很懂请老师帮我解答一下

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/4 20:24:00 [只看该作者]

转换参考:http://www.foxtable.com/webhelp/topics/0324.htm

什么地方不懂请具体指出来

Dim dt As DataTable
Dim
 cmd As New SQLCommand
cmd
.ConnectionName = "数据源名称"
cmd
.CommandText = "Selec类别, Max(编号) As 编号 From {产品} Group By 类别" 使用sql分组获取每个类别的最大编号
dt
 = cmd.ExecuteReader 
flbhs.Clear()‘清空编号集合
For
 Each dr As DataRow In dt.DataRows 
    Dim qz As String = dr("
类别"'编号前缀
    Dim bh As String =  dr("
编号")
    Dim id As Integer
    If bh.Length = 5 Then 如果编号长度为5
        bh = bh.SubString(2) 截取编号从第三位开始的数据,比如编号是HA001,SubString(2)后的值为001
        If Integer.TryParse(bh,id) Then 转换为整数
            
flbhs.Add(qz, id) 添加到集合中
        End If
    
End If
Next

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


加好友 发短信
等级:童狐 帖子:210 积分:1790 威望:0 精华:0 注册:2017/6/28 16:46:00
  发帖心情 Post By:2021/2/5 9:27:00 [只看该作者]

 If bh.Length = 5 Then 如果编号长度为5
        bh = bh.SubString(2) 截取编号从第三位开始的数据,比如编号是HA001,SubString(2)后的值为001
老师就这2行代码我的编号长度超过了5,例如我的编号是:kkibcd001,也可以自动编号正常?就是不明白,要是截取第三位开始的数据那就是:ibcd001,也就不能转换位整数型了?但是他依然可以正常编号?

[此贴子已经被作者于2021/2/5 9:28:12编辑过]

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/5 9:56:00 [只看该作者]

不可能的,调试一下

For Each dr As DataRow In dt.DataRows 
    Dim qz As String = dr("
类别"'编号前缀
    Dim bh As String =  dr("
编号")
    Dim id As Integer
msgbox("bh=" & bh & ",length=" & bh.Length)
    If bh.Length = 5 Then 如果编号长度为5

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


加好友 发短信
等级:童狐 帖子:210 积分:1790 威望:0 精华:0 注册:2017/6/28 16:46:00
  发帖心情 Post By:2021/2/5 11:18:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动编号问题.rar


但是确实可以自动编出字符长度不同又超过长度为2的编号,就是搞不明白
[此贴子已经被作者于2021/2/5 11:19:29编辑过]

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/5 11:47:00 [只看该作者]

可以是可以,重启服务器项目后,每次都会从1开始的吧,而不是从上次最大值开始

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


加好友 发短信
等级:童狐 帖子:210 积分:1790 威望:0 精华:0 注册:2017/6/28 16:46:00
  发帖心情 Post By:2021/2/5 12:03:00 [只看该作者]

老师,保存后正常退出,再打开服务端,启动,再打开客户端连上,再输入可以正常编号,不会从1开始,也就是说这个自动编号是正常的,就是代码这样写,也能任意编制,还可以正常?我就搞不懂了,请老师明示

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/5 13:32:00 [只看该作者]

请做个例子发过来测试一下

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


加好友 发短信
等级:童狐 帖子:210 积分:1790 威望:0 精华:0 注册:2017/6/28 16:46:00
  发帖心情 Post By:2021/2/5 14:08:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:open自动编号2.rar


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/5 14:51:00 [只看该作者]

我测试重启服务端后,每次客户端第一个类别的编码都是从001开始的。

您怎么测试的?按什么步骤测试?

 回到顶部
总数 35 1 2 3 4 下一页