比如改造SQL数据库的自动编号
Dim djsj As String = Args(0)
Dim bh As String =Args(1)
Dim qz As String =Args(2)
Dim dr As DataRow = Args(3)
Dim pf As String
If dr.RowState <> DataRowState.Added Then '如果不是新增行
Return Nothing '那么返回
ElseIf dr.IsNull(djsj) Then '如果没有输入日期
'e.Cancel = True '取消保存此行
MessageBox.Show("必须输入日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return Nothing
Else
pf = Format(dr(djsj),"yyMMdd") '否则获得编号的前缀,两位年,两位月
End If
Dim cmd1 As New SQLCommand
Dim cmd2 As New SQLCommand
Dim Key As Integer
Dim nm As String = Args(4)
cmd1.C '设置数据源名称
cmd2.C
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
dr(bh) = qz & pf & Format(Key,"00")
我卡在这里卡了一天了