读书人

为啥事务执行完毕后再次调出的数据没

发布时间: 2012-10-11 10:16:10 作者: rapoo

为什么事务执行完毕后,再次调出的数据没有更新
Private Sub Command1_Click()
On Error GoTo Sub2Err

sql1 = " INSERT INTO YHXX (用户编号,用户姓名) values ("& Trim(Bianhao.Text) & ",'" & Trim(Xingming.Text) & "')"

On Error GoTo Errb
Conn.BeginTrans
Conn.Execute sql1, n1
If n1 = 1 Then
Conn.CommitTrans
Else
Conn.RollbackTrans
Call dv_beep(icdev, 10): Call dv_beep(icdev, 10)
MsgBox " 操作失败,请重新操作 。 ", vbOKOnly, "提示"
Exit Sub
End If
Call LoadForm
Exit Sub
Sub2Err:
MsgBox ERR.Description
end sub


LoadForm具体定义如下:

Private Sub LoadForm()
On Error GoTo Sub1Err
Set RSTBH = New ADODB.Recordset

If RSTBH.State = adStateOpen Then RSTBH.Close
sql = "select 用户编号 from yhxx order by 用户编号 "
RSTBH.Open sql, Conn, adOpenKeyset, adLockReadOnly

If Not (RSTBH.BOF And RSTBH.EOF) Then
RSTBH.MoveLast
bianhao.text = RSTBH.Fields("用户编号") +1
Else
bianhao.text = 0
End If

Exit Sub
Sub1Err:
MsgBox ERR.Description
End Sub

问题如下:
Command1_Click执行完毕后,数据库中的用户增加了一条,用户编号随之加1

但是我现在遇到的问题是,Command1_Click中的事务正常执行完毕后,LoadForm中RSTBH.Fields("用户编号") 得到的编号还是原编号,不是加1之后的编号,

请问这是怎么回事,谢谢大家,急盼解决。



[解决办法]
sql = "select MAX(用户编号) AS 用户编号 from yhxx "

[解决办法]

RSTBH.Requery

读书人网 >VB

热点推荐