Foxtable(狐表)用户栏目专家坐堂 → 网络的复杂编号 如何找相同的编号


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

主题:网络的复杂编号 如何找相同的编号

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/8/22 16:18:00 [显示全部帖子]

DataRowAdding

 

e.DataRow("日期") = Date.today

 

BeforeSaveDataRow

 

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 cmd As New SQLCommand
Dim Key As Integer
Dim nm As String = e.DataTable.name
cmd.C '设置数据源名称
cmd.commandText = "Select [顺序号] From [编号] Where [前缀] = '" & pf & "' And 表名 = '" & nm & "'"
Do
    Key = cmd.ExecuteScalar() '从后台获得顺序号
    cmd.commandText = "Update [编号] Set [顺序号] = " & (Key + 1) & " Where [顺序号] = " & Key & " And [前缀] = '" & pf & "' And 表名 = '" & nm & "'"
    If cmd.ExecuteNonQuery() > 0 Then '更新顺序号
        Exit Do '更新成功则退出循环
    End If
Loop
e.DataRow("编号") = pf & "-" & Format(Key,"0000")


 回到顶部