为什么事务执行完毕后,再次调出的数据没有更新
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