Foxtable(狐表)用户栏目专家坐堂 → SQLserver数据库生成不重复的id编号


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

主题:SQLserver数据库生成不重复的id编号

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


加好友 发短信
等级:三尾狐 帖子:641 积分:5194 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2020/12/2 11:44:00 [只看该作者]

老师我发现在sqlselect中加顺序,生成速度明显变慢。下面代码目录树生成按order进行顺序生成,能写代码吗?
Dim drs2 As List(of DataRow) = DataTables("minfor").SQLSelect(filter2)
Dim nd2 As WinForm.TreeNode
tv.StopRedraw()
tv.Nodes.Clear
For Each dr2 As DataRow In drs2
nd2 = tv.Nodes.Add(dr2("mid"),dr2("mname"))
Next
tv.ResumeRedraw()
tv.ExpandAll()

 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

只能在sqlselect中加顺序

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


加好友 发短信
等级:三尾狐 帖子:641 积分:5194 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2020/12/2 23:07:00 [只看该作者]

老师,我在按钮的click事件中加下列代码生成id,多客户端同时编辑,SQL数据库。能确保id不重复,是唯一的吗?
           

For Each dr1 As DataRow In DataTables("mframe").Select("[jid] = '" & t & "'and [lage] = '" & p & "'","orderno")
                 Dim dr2 As DataRow = DataTables("mframe").AddNew()
                  dr2.save
                 dr2("mitemid") = "g"&dr2("_Identify")

老师这个执行速度挺慢,有啥优化方法没?
[此贴子已经被作者于2020/12/2 23:15:52编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106036 积分:539273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/3 9:30:00 [只看该作者]

使用sql操作

dim sql as string = "INSERT INTO {mframe} ( jid ) SELECT null AS a FROM {mframeWHERE [jid] = '" & t & "' and [lage] = '" & p & "'"

接着更新mitemid:update mframe set mitemid = 'g' + CStr([_Identify])

然后重新加载数据

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


加好友 发短信
等级:三尾狐 帖子:641 积分:5194 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2020/12/3 9:46:00 [只看该作者]

谢谢老师,这个方法我想过。但重新加载速度也慢。关键我同一个事件中,下面的代码会马上用到id。

 回到顶部
帅哥,在线噢!
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106036 积分:539273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/3 9:53:00 [只看该作者]

那就没有办法了。或者考虑优化一下业务逻辑

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


加好友 发短信
等级:三尾狐 帖子:641 积分:5194 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2020/12/3 10:00:00 [只看该作者]

蓝老师,那我在按钮的click事件中加下列代码生成id,多客户端同时新增时,SQL数据库。能确保id不重复,是唯一的吗?         
For Each dr1 As DataRow In DataTables("mframe").Select("[jid] = '" & t & "'and [lage] = '" & p & "'","orderno")
                 Dim dr2 As DataRow = DataTables("mframe").AddNew()
                  dr2.save
                 dr2("mitemid") = "g"&dr2("_Identify")
next
逻辑慢慢考虑,这个笨方法没问题吧?

 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106036 积分:539273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/3 10:07:00 [只看该作者]

是唯一的

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