以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  网络的复杂编号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59323)

--  作者:jianjingmaoyi
--  发布时间:2014/11/2 10:51:00
--  网络的复杂编号

Dim dr As DataRow = e.DataRow
Dim
pf As String
If
dr.RowState <> DataRowState.Added Then \'如果不是新增行
Return
\'那么返回
ElseIf
dr.IsNull("日期") Then \'如果没有输入日期
e.Cancel = True \'取消保存此行
MessageBox.Show("必须输入日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return
Else

pf
= Format(dr("日期"),"yyMM")
\'否则获得编号的前缀,两位年,两位月
End If
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 [前缀] = \'" & pf & "\' And 表名 = \'" & nm & "\'"
If
cmd1.ExecuteScalar = 0 Then \'如果编号表不存在前缀的行,那么增加一行
cmd1.commandtext = "Insert Into 编号 (表名, 前缀, 顺序号) Values(\'" & nm & "\',\'" & pf & "\',1)"
cmd1.ExecuteNonQuery
End If

cmd1
.commandText = "Select [顺序号] From [编号] Where [前缀] = \'" & pf & "\' And 表名 = \'" & nm & "\'"
Do

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

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


 这段代码 我只要尾数为4就避开 怎么修改代码


--  作者:有点甜
--  发布时间:2014/11/2 10:58:00
--  
 If key = 4 Then key = 5
--  作者:有点甜
--  发布时间:2014/11/2 10:58:00
--  

 

[此贴子已经被作者于2014-11-2 10:58:41编辑过]

--  作者:有点甜
--  发布时间:2014/11/2 10:59:00
--  
If key mod 10 = 4 Then key += 1
--  作者:jianjingmaoyi
--  发布时间:2014/11/2 11:02:00
--  
我试试


--  作者:jianjingmaoyi
--  发布时间:2014/11/2 11:08:00
--  
整个怎么修改
--  作者:有点甜
--  发布时间:2014/11/2 11:20:00
--  

 取出每一位,看是不是4,如果是,对应的位置就+1


--  作者:jianjingmaoyi
--  发布时间:2014/11/2 11:22:00
--  
不太对 跳过了 但是不能延续下去 提示有重复编号
--  作者:有点甜
--  发布时间:2014/11/2 11:23:00
--  
 你直接看最后生成的编号是否正确啊。
--  作者:jianjingmaoyi
--  发布时间:2014/11/2 11:25:00
--  
帮做一个看看

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