Foxtable(狐表)用户栏目专家坐堂 → 关于网络环境下的复杂编号的保存问题


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

主题:关于网络环境下的复杂编号的保存问题

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


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
关于网络环境下的复杂编号的保存问题  发帖心情 Post By:2013/9/26 20:33:00 [只看该作者]

Dim Key As Integer
cmd1.ConnectionName =
"编号" '设置数据源名称
cmd2.ConnectionName =
"编号"
cmd1.commandText =
"Select Count(*) From [编号] Where [前缀] = '" & pf & "'"
If
cmd1.ExecuteScalar = 0 Then '如果编号表不存在前缀的行,那么增加一行
cmd1.commandtext = "Insert Into 编号 (前缀, 顺序号) Values('" & pf & "',1)"
cmd1.ExecuteNonQuery
End If

cmd1
.commandText = "Select [顺序号] From [编号] Where [前缀] = '" & pf & "'"
Do
Key
= cmd1.ExecuteScalar() '从后台获得顺序号
cmd2
.commandText = "Update [编号] Set [顺序号] = " & (Key + 1) & " Where [顺序号] = " & Key & " And [前缀] = '" & pf & "'"
If
cmd2.ExecuteNonQuery() > 0 Then '更新顺序号
Exit Do
'更新成功则退出循环
End If
Loop

e.
DataRow("编号") = pf & "-" & Format(Key,"0000")

 

 

执行下列后

cmd1.commandtext = "Insert Into 编号 (前缀, 顺序号) Values('" & pf & "',1)"
cmd1.ExecuteNonQuery

行的状态 仍然是

DataRowState.Added=true 的状态

 

退出时提示 保存表!就重复了!! 要执行datatables("编号").").AcceptChanges()吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/26 21:07:00 [只看该作者]

你插入一行/更新一行数据,只是修改了数据库里面的,在狐表里并不知道已经修改了,你需要重新加载一下编号表,才会是最新的数据。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/26 21:08:00 [只看该作者]

 尽量不要保存编号表。

 回到顶部