我的程序有错误吗?

jsjkhanwei 2004-02-21 12:27:19
我的写法有错误吗?是这样的:
我在一张表中记录当前单据的编号,
如果新增一张单据呢就把当前的编号加1
然后将代新的编号放到数据库中。
如果有很多用户同时对此表操作,
应该如何写呢?我的代码:
Dim get_Serial_Number As String
Dim table_describe As String
Dim string_describe As String
table_describe = "mzsh"
string_describe = "M"


djh_rst.Open "select * from xt_serial_number with (xlock) where t_describe='" + Trim(table_describe) + "'", Cw_DataEnvi.DataConnect, adOpenKeyset, adLockOptimistic
On Error GoTo err

If djh_rst.EOF Then
get_Serial_Number = 0
MsgBox "表xt_serial_number中无此记录", vbCritical
Exit Sub
End If
Cw_DataEnvi.DataConnect.BeginTrans
'判断该记录最后修改日期与系统当前日期是否相同,同则返回单号加1并更新最大单号
'不同则以系统当前日期重设表单号
If Format(djh_rst1.Fields("last_date"), "yyyy-mm-dd") = GetServerDate Then
get_Serial_Number = djh_rst.Fields("serial_number") + 1
djh_rst.Fields("serial_number") = get_Serial_Number
get_Serial_Number = string_describe & get_Serial_Number
djh_rst.Update
Else
get_Serial_Number = Format(GetServerDate, "yyyymmdd") & "0001"
djh_rst.Fields("serial_number") = get_Serial_Number
djh_rst.Fields("last_date") = Format(GetServerDate, "yyyy-mm-dd")
get_Serial_Number = string_describe & get_Serial_Number
djh_rst.Update
End If

his_sh.LrText(6).Text = get_Serial_Number
Cw_DataEnvi.DataConnect.CommitTrans


djh_rst.Close
Exit Sub
err:
MsgBox "自动生成的单据流水号出错!请返回重新保存!!!", vbCritical
Cw_DataEnvi.DataConnect.RollbackTrans
Exit Sub
...全文
19 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧