1. 程式人生 > >機房收費系統之學生檢視餘額

機房收費系統之學生檢視餘額

流程

判斷卡號是否為空----為空,輸入卡好—不為空,連線資料庫----判斷是否有此使用者----沒有,提示-----有,連線並顯示資訊

知識點

If mrc.BOf Then :當前指標的位置是在第一行記錄之前

If mrc.EOF Then :當前指標的位置是在最後一行記錄之後

If Not mrc.EOF Then :當前指標的位置沒有到達最後一條記錄

If Not mrc.BOF Then :當前指標的位置沒有到達第一條記錄

If mrc.BOF AND mrc.EOF Then :沒有任何記錄

If Not (mrc.BOF AND mrc.EOF) Then :指標位於記錄集的當中,說明一定有記錄

問題

1)91錯誤,定義出錯 Dim mrc As New ADODB.Recordset沒加new所以查不到資料庫
2)3704錯誤,物件關閉不允許操作。原因:txtsql打成了sql
引申出的知識點: 在進行查詢的時候,資料庫將查詢結果返回查詢端。BOF表示當前的指標是在記錄集的前面,EOF表示當前指標式在記錄集的最後。

如果同時產生了BOF和EOF的情況,就是說當前的指標既在上界之外也在下界之外,這樣只有一種情況,就是記錄集是空的,這樣當前指標無論是指到什麼地方都是同時具有BOF和EOF的屬性。

3)發現二義性名稱top_up

程式碼展示

 txtsql = "select * from student_Info where cardno = '" & Trim(txtcardno.Text) & "'"
          Set mrc = ExecuteSQL(txtsql, msgtext)
          
     '判斷是否存在該使用者
     If mrc.BOF And mrc.EOF Then '沒有任何記錄
        MsgBox "沒有該使用者", 48, "提示"
        txtcardno.SetFocus
        txtcardno.Text = ""
        Exit Sub
    Else
        txtstudentNo.Text = mrc.Fields(1)
        txtName.Text = mrc.Fields(2)
        txtsex.Text = mrc.Fields(3)
        txtdepartment.Text = mrc.Fields(4)
        txtgrade.Text = mrc.Fields(5)
        txtclass.Text = mrc.Fields(6)
        txtcash.Text = mrc.Fields(7)
        txtexplain.Text = mrc.Fields(8)
        txtIscheck.Text = mrc.Fields(11)
        mrc.Update
        mrc.Close
     End If

總結

變是永遠不變的