在執行個體一的登入系統中,通過定義函數,來訪問資料庫並且判斷使用者名稱和密碼是否正確匹配。還有一種實現方法,就是在form_load 事件中,取出資料庫中的使用者名稱和密碼,並存放在兩個數組中,使用者輸入的使用者名稱和密碼在和數組中的使用者名稱和密碼去匹配,雖然取出資料庫中的資料是不安全的,但也是一種實現方法。。
執行個體二和執行個體一有著直接的聯絡。先不說要求,就只看功能,通過執行個體一中的數組方法,只要稍加修改,就能實現執行個體二中的效果。。就是把數組中使用者名稱和密碼取出來,在表單上顯示出來(這樣也是不安全,哈)。
執行個體二則是用ADO recordset 的一些屬性實現訪問資料庫中的值,並且也是通過recordset對象的屬性值,來實現前後記錄的來回讀取和切換。相對來說簡單方便。
通過執行個體二也學習積累了recordset對象的一些非常好用的屬性方法。
下面說說,執行個體二實現的思路:
執行個體二是recordset屬性的練習,程式過程都是圍繞著ADO展開的。
先建立資料庫的串連,通過屬性,將資料庫中的密碼和使用者存入objrs 這個建立的記錄集中。
Set objCn = New Connection objCn.Open "DSN=執行個體2DSN" Set objRs = New Recordset With objRs .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open "select * from 系統使用者", objCn End With
再通過recordset的movefirst 和movelast屬性訪問資料集中的第一個和最後一個資料,通過moveprevious和movenext屬性來實現前一個和後一個記錄的訪問。
想比較數組實現方法,真的很簡單。省去了建立數組,利用迴圈將取出的資料存放到數組中,在瀏覽的時候,還得利用迴圈來後移動。。
執行個體二和執行個體一中的不同:
1,都訪問資料庫。
執行個體一和執行個體二都串連了資料庫,但是方式不同。執行個體一將資料庫的串連和關閉寫在了函數中,調用函數的過程中經曆資料庫的串連、開啟、關閉;執行個體二,則是在程式啟動並執行時候就建立了資料庫的串連,訪問,在程式關閉的時候,同時關閉資料庫。
2,資料庫的串連方式不同
執行個體一是同過ADO connection對象屬性串連。
objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source=" & App.Path & "\執行個體01.mdb"
執行個體二是通過ODBC(Open Database Connectivity)資料來源訪問資料庫。先建立關聯式資料庫的ODBC串連。
Set objCn = New Connection objCn.Open "DSN=執行個體2DSN"
總結:
1,有關資料庫的串連方法,兩種
2,取資料庫中資料不用數組存放
3,recordset一些屬性。update, move--,……