首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

为什么事务执行完毕后,再次调出的数据没有更新解决思路

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

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

热点排行