vb是如何鏈接數據庫的
剛開始學習數據庫時 ,對數據庫很不瞭解,尤爲是模塊中的代碼。照着抄都有不少錯的,每一句究竟是什麼意思呢,根本不懂。因而我就花費了大量的時間去查每一句代碼的具體做用,直到我師傅說讓我帶着問題前進的時候。
不過我仍是稍微有點成果的——我弄懂了模塊中的鏈接數據庫的代碼。先寫出來一些我本身的理解,若是錯了,請你們不惜賜教。
Sub Main() '從sub main啓動工程
Dim flogin As New frmlogin '登錄窗體的模版 ,其中flogin 是一個窗體,不過爲何不直接登陸就不懂了。。。
flogin.Show vbModal '把登錄窗體實例化
If Not flogin.OK Then 'ok是加載在flogin窗體的一個開關,用來肯定是否登錄成功
End
End If
Unload flogin
Set fMainForm = New frmMain '窗體實例化,相似flogin
fMainForm.Show
End Sub
進入登錄界面
點擊肯定後的代碼運行方式
Private Sub cmdok_Click()
Dim txtSQL As String '定義一個字符串,存放sql的語句。
Dim mrc As ADODB.Recordset ’定義一個結果集(或者說是臨時的表格)存放從數據庫中調出的數據
Dim MsgText As String ’定義一個字符串,存放鏈接數據庫的結果。通常再也不用戶界面體現
If Trim(txtUserName.Text) = "" Then '驗證用戶名欄是否爲空
MsgBox "請輸入用戶名", vbOKOnly, "警告" '若是是空的話,直接警告並退出
exit sub
Else
txtSQL = "select * from user_info where user_ID='" & Trim(txtUserName.Text) & "'" 'sql語句,這句話的意思是從 'user_info 的表格中取出來全部user_id =用戶名中 字符的行。
Set mrc = Executesql(txtSQL, MsgText) '經過Executesql()這個函數將sql 語句送入,並將操做結束後獲得的結果集賦值給 mrc <span style="white-space:pre"> </span>' 括號中的txtsql存放的就是sql字符串,關於executesql()函數的運行方式,下面有詳細的描述。
If mrc.EOF Then ’.eof是mrc的一個屬性,若是從數據庫中進行了sql語句的操做,數據庫將從第一句開始查找符合條件的項<span style="white-space:pre"> </span>'進行操做,若是查到了最後一句,而且沒有發現任何符合條件的項,就會返回. eof= true 不然返回的<span style="white-space:pre"> </span>'則是 .eof=flase 若是他報錯的話,說明鏈接失敗 詳情參見:<a target=_blank href="http://blog.csdn.net/liyasong666888/article/details/37931469">mrcc.eof</a>
MsgBox "沒有該用戶,請從新輸入!", vbOKOnly, "警告"
txtUserName.SetFocus
Else '若是從數據庫中找到了所要找的項的話進行以下操做(此時數據存入mrc)
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then '調出數據中的第一列,看其值是否等於用戶輸入的密碼。
OK = True
Me.Hide
UserName = txtUserName.Text
Else
MsgBox "密碼錯誤,請從新輸入密碼"
txtPassword.Text = ""
txtPassword.SetFocus
End If
End If
End If
end sub