|
vb登錄界面設(shè)計(連接SQL Server 2000)實驗筆記 實驗?zāi)康?/b>:這次實驗?zāi)康氖窃O(shè)計出一個應(yīng)用程序的登錄界面,并連接SQL server 2000數(shù)據(jù)庫,以實現(xiàn)用戶登錄功能。 實驗任務(wù): (1)新建數(shù)據(jù)庫并命名為denglu,在該數(shù)據(jù)庫中新建表User1,表包含的列為“ID,username,pwd”。 (2)設(shè)計登錄界面Frmlogin,以及登錄成功后要顯示的界面Form2,并連接到數(shù)據(jù)庫,使包含在數(shù)據(jù)庫中的合法用戶能成功登錄該程序,而不合法用戶則無法進(jìn)入程序。 實驗內(nèi)容: 一、界面設(shè)計 各控件名稱屬性分別為:label1 、text1 、label2、text2、commandok、cmdcancel ![]() ![]() 登錄成功后顯示的窗體: ![]() 代碼設(shè)計如下: '首先添加一個模塊,寫上以下通用聲明和Sub main(): Public conn As ADODB.Connection '通用(聲明) Sub main() Set conn = New ADODB.Connection '通用(main) conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;" _ + "User ID=sa;password=123;Initial Catalog=denglu;Data Source=127.0.0.1" '連接數(shù)據(jù)庫代碼 conn.Open frmLogin.Show '首先顯示登錄界面。也可以在工程屬性中設(shè)置啟動對象為Sub main()或者frmlogin窗體 End Sub '在Frmlogin 代碼窗口,為cmdok控件寫以下代碼: Private Sub cmdok_Click() If text1.Text = "" Then MsgBox "用戶名不能為空!", vbOKOnly + vbInformation, "友情提示" text1.SetFocus Exit Sub '若用戶名文本框內(nèi)為空,則出現(xiàn)提示框 End If If text2.Text = "" Then MsgBox "密碼不能為空!", vbOKOnly + vbInformation, "友情提示" text2.SetFocus Exit Sub '若輸入密碼文本框為空,也出現(xiàn)提示框 End If Dim strSQl As String strSQl = "select * from User1 where username='" & Trim$(text1.Text) & "' and pwd='" & Trim$(text2.Text) & "' " '書寫SQL代碼,查詢User1表中是否存在窗體中用戶輸入的信息。 Dim str As New ADODB.Recordset Set str = New ADODB.Recordset str.CursorLocation = adUseClient str.Open strSQl, conn, adOpenStatic, adLockReadOnly With str If .State = adStateOpen Then .Close .Open strSQl If .EOF Then Try_times = Try_times + 1 If Try_times >= 3 Then MsgBox "您已連續(xù)三次輸入錯誤,系統(tǒng)將自動關(guān)閉", vbOKOnly + vbCritical, "警告" Unload Me '若用戶連續(xù)輸入3次錯誤密碼,則系統(tǒng)關(guān)閉 Else MsgBox "對不起,用戶名不存在或密碼錯誤 !", vbOKOnly + vbQuestion, "警告" text1.SetFocus text1.Text = "" text2.Text = "" End If Else Unload Me '若登錄成功,則隱藏當(dāng)前窗體 Form2.Show '然后顯示Form窗體 End If End With End Sub Private Sub cmdCancel_Click() End '若單擊Cmdcel按鈕,則結(jié)束應(yīng)用程序 End Sub 運(yùn)行中存在的問題: 代碼中有Dim conn As adodb.connection,運(yùn)行時顯示"用戶定義類型未定義",請問我應(yīng)該怎么做?解決方法:點擊“工程”--“引用”找到“Microsoft ActiveX Data Object 2.6” 然后就就可以正常運(yùn)行了。 |
|
|