㈠ VB怎麼調用資料庫數據
VB可將Sql結構化查詢語句賦值Ado(ActiveX 數據對象)或ADO Data 控制項,訪問和操作資料庫。
ADO (ActiveX 數據對象),這項新的數據訪問技術的特性包括:更簡單的對象模型;與其它 Microsoft 和非 Microsoft 的技術更好的集成;為本地和遠程數據數據提供的通用介面;可遠程訪問的和斷開的記錄集;用戶可訪問的數據綁定介面;以及層次結構的記錄集。
ADO Data 控制項, 這是一種新的、OLEDB 識別的數據源控制項,其功能與內部的 Data 控制項和 Remote Data 控制項十分相似,通過這種方式允許用戶用最少的代碼來創建資料庫應用程序。
Visual Basic 6.0 中,已經可以將任何 ADO/OLE DB 數據源綁定到任何 ADO/OLE DB 數據使用者上。在運行時,可以設置控制項的 DataSource 屬性來將控制項動態地綁定到數據源。可以創建用作數據源和數據使用者的類,並且通過新的 BindingsCollection 對象將這些類綁定在一起。可以創建與 ADO 數據控制項相似的、用作數據源的用戶控制項。還可以創建與 DataGrid 控制項相似的、復雜綁定的用戶控制項。
以下是經ADO (ActiveX 數據對象)訪問Access資料庫的實例代碼:
DimcnnAsNewConnection
DimrsAsNewRecordset
DimsqlAsString
DimARR
cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:wdOld.mdb;PersistSecurityInfo=False"
sql="select故障名稱fromguzhang_bm"
rs.Opensql,cnn
Combo1.Text="故障名稱"
DoWhileNotrs.EOF
Combo1.AddItemrs("故障名稱")
rs.MoveNext'打開表
Loop
rs.Close
cnn.Close
以下是使用ADO Data 控制項訪問Access資料庫德實例代碼:
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"wd.mdb;PersistSecurityInfo=False"
Adodc1.RecordSource="select*fromjishijilu"'whereshijianlike'%8112%'Andgyh_riqilike'%10%'"
Adodc1.Refresh
SetMSHFlexGrid1.DataSource=Adodc1
MSHFlexGrid1.Row=1
MSHFlexGrid1.ColSel=MSHFlexGrid1.Cols-1
㈡ vb.net 怎麼操作資料庫
如果樓主熟悉VB6,可以直接在項目中添加ADODB的Com引用,這樣你就可以像VB6那樣操作資料庫了!
另外
.NET
Framework中連接資料庫要用到ADO.NET。如果要操作Access資料庫,要用到System.Data.OleDb命名空間下的許多類。
比如按樓主所說,「我想在textbox1中顯示表一中【一些數據】欄位下的第一個內容」:
'首先導入命名空間
Imports
System.Data
Imports
System.Data.OleDb
'然後在某一個事件處理程序中寫:
Dim
conn
As
New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=資料庫.accdb;Jet
OLEDB:Database
Password=MyDbPassword")
Dim
command
As
New
OleDbCommand("Select
*
From
數據表",
conn)
conn.Open()
'打開資料庫連接
Dim
reader
As
OleDbDataReader
=
command.ExecuteReader()
'執行SQL語句,返回OleDbDataReader
對象
Do
While
reader.Read()
'讀取一條數據
textbox1.Text
+=
reader("一些數據")
&
VbCrLf
Loop
reader.Close()
'關閉OleDbDataReader
conn.Close()
'關閉連接
㈢ vb中資料庫的調用怎麼做啊!具體
最最簡單的資料庫的調用是,用ADO控制項,在部件中添加ADO
6。0控制項然後把它內放到窗體中,右擊容選屬性,在對話框中選擇生成連接字元串,點生成按提示做就OK了,比如你要把資料庫中數據在一個文本框中顯示
在窗體中放入一個文本框,在屬性中選擇按分類序找到數據那類在DataSource設置為ADO控制項,要顯示資料庫中一個表中的某一例數據,在ADO控制項屬性中設置資源類型為表,然後到文本框屬性框中DateField中設置一下要顯示的那一例,然後運行程序就可以單擊ADO控制項中的按鈕來顯示了!!!
以上是在VB6。0中的情況啊,而且前提是你的資料庫一定要在連接狀態下,資料庫用戶一定要可用!!
㈣ vb中怎樣連接資料庫
可以用ODBC數據扮型源,添加一個SQL的。然後用VB裡面的ADO部件和datagrid部件連穗虛接。先在拖出的adodc部件右鍵設置屬性,連接資料庫。再廳族猜將datagrid連接到adodc就可以看到數據了。
㈤ VB程序如何遠程調用ACCESS資料庫
第一步:你要知道那台電腦的計算機名或者ip地址;
第二步:共享資料庫所在的文件夾,要將共享許可權設置為能夠讀寫的許可權;
第三步:在你的電腦上運行一下那個共享路徑:\\計算機名\
共享文件夾
,看能賀裂不能打開,如果能
打開,說明共享成功,才能調用代碼連接,如果需要用戶名和密碼你要輸入那台電腦的一組用戶名和密碼;
第四步:在第三步成功的情況下,調用以下代碼:
dim
資料庫路徑
as
string
dim
資料庫密碼
as
string
資料庫路徑="\\計算機名\共享文件夾\數據喊瞎庫.mdb"
資料庫密碼=你的數禪滲閉據庫密碼(如果沒設密碼,就為空)
adodc1.ConnectionString="provider=Microsoft.Jet.OLEDB.4.0;Data
source
="
_
&
資料庫路徑0
&
";Jet
OLEDB:Database
Password="
&
資料庫密碼
adodc1.recordsource="select
*
from
user"
adodc1.Refresh
㈥ 怎麼在VB中調用SQL資料庫,資料庫已經建好,越詳細越好.
Public Function ConnectString() _
As String
ConnectString = "FileDSN=info.dsn;UID=sa;PWD=23" '連接字元器,改成你自己的
End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset '這里是執行SQL語句,你只需要調用這個方法,把SQL查詢語宏拍悄句蔽渣參數傳進來,最後返回一個Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
"賀余 query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查詢到" & rst.RecordCount & _
" 條記錄 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查詢錯誤: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
Public Function Testtxt(txt As String) As Boolean
If Trim(txt) = "" Then
Testtxt = False
Else
Testtxt = True
End If
End Function
㈦ VB如何連接ACCESS資料庫
由於VB本身並不帶有可以訪問資料庫的類,所以我們需要引用一個包含能訪問數並慎據庫的類來使盯派用資料庫.這里我們採用ADODB,相比DAO和能訪問資料庫的API來說,它比DAO更靈活,更強大;而比起API,它更簡單易用,更適合初學者.而Access資料庫比起SQL,也相對簡單了很多,且能夠滿足中小型應用程序的需要,所以我們在使用資料庫時,選擇了Access.
就像使用文本文件來存儲數據一樣,我們需要先設計好數據結構,只不過在設計Access資料庫的結構時,我們需要用到其它的程序來進行詳細的規劃.建議採用的程序是office中的Access或VB自帶的VISDATA.
當資料庫設計好了以後,我們可以開始資料庫編程了.
首先,我們需要引用ADO.具體的方法是,在工程 -- 引用 中,找到Microsoft ActiveX Data Object *.* Library,這里的*.*是指的時ADO的版本號,一般來說,應用程序或ActiveX控制項都具有向下兼容性,所以我們盡可能選擇比較新的版本.以確保程序在能識別舊版本Access的同時,也能識別較新版本的Access.
然後我們需要在程序中創建一個對象.就好比我們在窗體上添加一個FileBox才能看到文件名一樣,只有創建了ADO對象,我們才能夠訪問資料庫.常用的對象有兩個,Connection和Recordset.
創建這兩個對象的具體方法是:
1.在引用後,使用New關鍵字,如
Private Conn As New ADODB.Connection
Private Reco As New ADODB.Recordset
2.在沒引用時,用CreateObject創建對象:
Dim Conn,Reco
Set Conn = CreateObject(ADODB.Connection)
Set Reco = CreateObject(ADODB.Recordset)
創建了對象之後,下一步我們要做的就是打開資料庫了.
先看下面的代碼,可以成功的打開資料庫.
Conn.open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Main.mdb
這句代碼打開了D盤中的Main.mdb這個資料庫.
Connection.Open方法的第一個參數是連接代碼,它將傳遞給系統的資料庫引擎.前半部分Provider=Microsoft.Jet.OLEDB.4.0,它表示了資料庫的類型.不同的資料庫可能會不同.後半句Source=d:main.mdb它表示了資料庫所在的絕對路徑.
打開資料庫之後,還要打開表.假如資料庫中有一個表,表名為Users,欄位有兩個,一個為用戶名,一個為密碼.那麼看以下代碼.
1.想返回Users中,[用戶名]為去年煙花的[密碼]
Recordset.open Select 密碼 From Users Where 用戶名='去年煙花',Connection,1,1
之後我們就可以把用戶輸入的密碼進行比較,看是否允許登錄.
If Recordset.eof and Recordset.bof then
Msgbox 用戶不存在!,16
Else
If PassWord =Recordset(密碼).value then
msgbox 登錄成功!,64
Else
msgbox 密碼錯誤!,32
End If
End If
Recordset.Close
2.假設Admin已經成功登錄系統,我們想把所有的用凱蔽賀戶名和密碼都顯示出來
Recordset.open Select * From Users,Connection,1,1
這時,表已經被打開,我們就用以下代碼把它顯示出來.
Do whlie Not Recordset.eof
Print 用戶名:
Recordset(用戶名).value
密碼:
Recordset(密碼).value
Recordset.MoveNext
Loop
Recordset.Close
由以上代碼示例可以看出,打開表時,可以只打開其中的一個欄位,也可以打開所有.第一個參數是SQL語句.
Select [欄位名] From 表名 [Where 條件]
這里的條件可以省略.且欄位名也可以用*來代替所有欄位.
需要注意的是,如果你用(1)中的方法打開,那麼(2)後面顯示的代碼就不能再用在(1)中.因為(1)里並沒有打開[用戶名]欄位,所以這一句Recordset(密碼)就沒有值存在,還有可能出錯.
後面的條件,可以用=、、等運算符.比如 Where ID
32.(這里假設[ID]為數字型.)
這是打開的部分.第二個很重要的部分就是查詢記錄.
資料庫它並不是把所有記錄全部放到一個變數中備用的.而是以當前記錄的形式來返回一個值.所以我們想從中找到有用的信息,就必須要對信息進行定位/篩選.
定位:
移動到下一條 Recordset.MoveNext
移動到上一條 Recordset.MovePrevious
移動到最後一條 Recordset.MoveLast
移動到第一條 Recordset.MoveFrist
移動到某一條 Recordset.Move Number
篩選:
Recordset.Find 條件
如:[用方法(2)打開表之後]
Private Sub Command1_Click()
Recordset.Find 用戶名=
text1.text
If Recordset.Eof
True Then
Msgbox 該用戶的密碼是:
Recordset(密碼).value,64
Else
Msgbox 未找到該用戶的資料!,16
End If
End Sub
MoveNext 只有當Eof不為True時,才可用,否則發生錯誤.而MovePrevious剛是Bof不為True時....
而只要Eof 和 Bof中有一個不為真時,也就是說只要有一條記錄時,它就可以使用.
Find 方法中的條件和Open時的第一個參數中的條件表述方法是完全一致的.當在已打開的記錄集中,找不到該記錄時,Eof為True.找到則當前的值就是符合條件的記錄.
第三個部分就是添加/修改記錄.
修改記錄很簡單,先按以上的方法找到相關記錄之後,給記錄賦值就可以了.
比如:[(修改密碼)按方法(1)打開表之後]
Recordset(密碼).value = 123456
Recordset.Updata
需要注意的就是,在修改完成後,要調用Updata方法,這樣修改才能生效.
而添加記錄則可以用以下代碼來實現:
Recordset.addnew
Recordset(用戶名).value = Admin
Recordset(密碼).value = Admin
Recordset.Updata
這里,先要調用Addnew方法,增加一條新記錄,然後對這個新記錄中的各欄位賦值,最後再調用Updata方法.
到這里就差不多了,最後說一下上面提到的幾個方法.
Recordset.Open SQL語句,數據源,游標類型,打開方法
SQL語句不用說了,就是Select那啥的,目的就是按要求從表中返回數據
數據源就是一個打開之後的Connection對象.
填1就可以了
打開方法對應了幾個常數,具體哪幾個可以從對象瀏覽器里看。
對應數值的意義:
1 只讀 2 獨占 3 可寫 4 自已可寫,別人可讀。
Connection.open 連接代碼,伺服器用戶名,密碼。
這里的連接代碼就不在多說了,伺服器用戶名,密碼只有在連接遠程資料庫時才用到。
㈧ VB如何調用Access資料庫
首先,我們需要引用ADO.具體的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",這里的"*.*"是指的時ADO的版本號,一般來說,應用程序或ActiveX控制項都具有向下兼容性,所以我們盡可能選擇比較新的版本.以確保程序在能識別舊版本Access的同時,也能識別較新版本的Access.
然後我們需要在程序中創建一個對象.就好比我們在窗體上添加一個FileBox才能看到文件名一樣,只有創建了ADO對象,我們才能夠訪問資料庫.常用的對象有兩個,Connection和Recordset.
創建這兩個對象的具體方法是:
1.在引用後,使用New關鍵字,如
Private Conn As New ADODB.Connection
Private Reco As New ADODB.Recordset
2.在沒引用時,用CreateObject創建對象:
Dim Conn,Reco
Set Conn = CreateObject("ADODB.Connection")
Set Reco = CreateObject("ADODB.Recordset")
創建了對象之後,下一步我們要做的就是打開資料庫了.
先看下面的代碼,可以成功的打開資料庫.
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"
這句代碼打開了D盤中的Main.mdb這個資料庫.
Connection.Open方法的第一個參數是連接代碼,它將傳遞給系統的資料庫引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了資料庫的類型.不同的資料庫可能會不同.後半句"Source=d:\main.mdb"它表示了資料庫所在的絕對路徑.
打開資料庫之後,還要打開表.假如資料庫中有一個表,表名為"Users",欄位有兩個,一個為用戶名,一個為密碼.那麼看以下代碼.
1.想返回"Users"中,[用戶名]為"去年煙花"的[密碼]
Recordset.open "Select 密碼 From Users Where 用戶名='去年煙花'",Connection,1,1
之後我們就可以把用戶輸入的密碼進行比較,看是否允許登錄.
If Recordset.eof and Recordset.bof then
Msgbox "用戶不存在!",16
Else
If PassWord =Recordset("密碼").value then
msgbox "登錄成功!",64
Else
msgbox "密碼錯誤!",32
End If
End If
Recordset.Close
2.假設Admin已經成功登錄系統,我們想把所有的用戶名和密碼都顯示出來
Recordset.open "Select * From Users",Connection,1,1
這時,表已經被打開,我們就用以下代碼把它顯示出來.
Do whlie Not Recordset.eof
Print "用戶名: " & Recordset("用戶名").value & "密碼: " & Recordset("密碼").value
Recordset.MoveNext
Loop
Recordset.Close
由以上代碼示例可以看出,打開表時,可以只打開其中的一個欄位,也可以打開所有.第一個參數是SQL語句.
Select [欄位名] From 表名 [Where 條件]
這里的條件可以省略.且欄位名也可以用"*"來代替所有欄位.
需要注意的是,如果你用(1)中的方法打開,那麼(2)後面顯示的代碼就不能再用在(1)中.因為(1)里並沒有打開[用戶名]欄位,所以這一句Recordset("密碼")就沒有值存在,還有可能出錯.
後面的條件,可以用"="、">"、"<"等運算符.比如 "Where ID > 32".(這里假設[ID]為數字型.)
這是打開的部分.第二個很重要的部分就是查詢記錄.
資料庫它並不是把所有記錄全部放到一個變數中備用的.而是以"當前記錄"的形式來返回一個值.所以我們想從中找到有用的信息,就必須要對信息進行定位/篩選.
定位:
移動到下一條 Recordset.MoveNext
移動到上一條 Recordset.MovePrevious
移動到最後一條 Recordset.MoveLast
移動到第一條 Recordset.MoveFrist
移動到某一條 Recordset.Move Number
篩選:
Recordset.Find "條件"
如:[用方法(2)打開表之後]
Private Sub Command1_Click()
Recordset.Find "用戶名=" & "text1.text"
If Recordset.Eof <> True Then
Msgbox "該用戶的密碼是:" & Recordset("密碼").value,64
Else
Msgbox "未找到該用戶的資料!",16
End If
End Sub
MoveNext 只有當Eof不為True時,才可用,否則發生錯誤.而MovePrevious剛是Bof不為True時....
而只要Eof 和 Bof中有一個不為真時,也就是說只要有一條記錄時,它就可以使用.
Find 方法中的條件和Open時的第一個參數中的條件表述方法是完全一致的.當在已打開的記錄集中,找不到該記錄時,Eof為True.找到則當前的值就是符合條件的記錄.
第三個部分就是添加/修改記錄.
修改記錄很簡單,先按以上的方法找到相關記錄之後,給記錄賦值就可以了.
比如:[(修改密碼)按方法(1)打開表之後]
Recordset("密碼").value = "123456"
Recordset.Updata
需要注意的就是,在修改完成後,要調用Updata方法,這樣修改才能生效.
而添加記錄則可以用以下代碼來實現:
Recordset.addnew
Recordset("用戶名").value = "Admin"
Recordset("密碼").value = "Admin"
Recordset.Updata
這里,先要調用Addnew方法,增加一條新記錄,然後對這個新記錄中的各欄位賦值,最後再調用Updata方法.
到這里就差不多了,最後說一下上面提到的幾個方法.
Recordset.Open SQL語句,數據源,游標類型,打開方法
SQL語句不用說了,就是Select那啥的,目的就是按要求從表中返回數據
數據源就是一個打開之後的Connection對象.
去他媽的游標類型,填1就可以了 [偷笑ing]
打開方法對應了幾個常數,具體哪幾個可以從對象瀏覽器里看.
對應數值的意義:
1 只讀 2 獨占 3 可寫 4 自已可寫,別人可讀
Connection.open 連接代碼,伺服器用戶名,密碼
這里的連接代碼就不在多說了,伺服器用戶名,密碼只有在連接遠程資料庫時才用到.
㈨ 如何在VB中操作資料庫
要查找資料庫信息,關鍵是要解決鏈接資料庫的問題,下面簡述Vb如何SQL資料庫:有兩種方法可以實現,一種是通過ODBC數據源的配置進行連接,一種是通過純代碼編輯進行連接,下面我們就詳細介紹一下這兩種連接方法。ODBC數據源VB連接SQL資料庫一、配置ODBC數據源1、在控制面板中,雙擊管理工具,然後打開ODBC數據源管理器。2、在「系統DSN」選項卡中,單擊「添加」按鈕,打開「創建新數據源」對話框,在「名稱」列表框中選擇「SQLServer」。選好單擊完成3、在打開「建立新的數據源到SQLServer」對話框,在「名稱」文本框輸入新數據源的名稱,描述數據源按你理解的方式來寫(隨意)。「伺服器」就選擇你要連接到的伺服器。4、選擇使用用戶輸入登錄的ID和密碼的SQL驗證。選連接SQL默認設置5、再下一步下一步,完成。測試數據源看連接是否成功就行了。成功後按確定。二、VB中設置連接1、添加部件MircrosoftADODataControl6.0(OLEDB),把部件拖到窗體。2、對ADO部件點右鍵選屬性,選擇使用連接字元串,按生成。3、選擇按下一步4、1)輸入伺服器名稱2)使用指定的伺服器信息3)在伺服器上選擇資料庫這時就選擇你在SQLServer建好的資料庫就行了5、測試連接可以看到連接是否成功!通過代碼VB連接SQL資料庫PublicconnAsNewADODB.ConnectionPublicrsAsNewADODB.(ByValCipAsString)=NewADODB.Connectionconn.ConnectionTimeout=25conn.Provider="sqloledb"conn.Properties("datasource").Value=Cip'伺服器的名字conn.Properties("initialcatalog").Value="zqoa"'庫名'conn.Properties("integratedsecurity").Value="SSPI"'登陸類型conn.Properties("userid").Value="sa"conn.Properties("password").Value="sa"conn.OpenOpenCn=TrueaddFlag=TrueExitFunctionstrerrmag:mag="Datacan'tconnect"CallMsgBox(mag,vbOKOnly,"Error:Dataconnect")addFlag=()OnErrorResumeNextIfconn.StateadStateClosedThenconn.CloseSetconn=(ByValstrsqlAsString)AsBoolean'連接資料庫記錄集=NewADODB.RecordsetIfaddFlag=FalseThenrpy=TrueWithrs.ActiveConnection=conn.CursorLocation=adUseClient.CursorType=adOpenKeyset.LockType=adLockOptimistic.OpenstrsqlEndWithaddFlag=TrueopenRs=TrueEnd'ExitFunctionstrerrmag:mag="datanotconnect"CallMsgBox(mag,vbOKOnly,"error:connect")openRs=FalseEnd'()OnErrorResumeNextIfrs.StateadStateClosedThenrs.CloneSetrs=NothingEndSub
㈩ vb登陸界面用戶名調用資料庫如何實現
使用Access 2003來建立一個新的空資料庫,命名為db1,存儲路徑為D:\db1,在db1中創建一張新的表格,命名為用戶信息表,並設定用戶信息表中有兩個欄位,分別為用戶名稱和用戶口令,注意它們的數據類型均為文本格式,一定要注意,不然到後面代碼就會出錯,而且極難查錯。 完成設計視圖之後輸入一條記錄,記錄中的用戶名屬性值為Angel,密碼為123。輸入一條記錄的目的是用於檢驗登錄代碼是否正確以及起到一點演示效果。
下面打開VB6.0,建立一個新的工程,命名為工程1,打開就有一個新的窗體Form1。布置界面如圖所示,當然這只是個示例,你可以有更好的界面設計。圖中,管理員名稱和口令是兩個文本框,名稱分別為TxtUserName 和TxtPassword,登錄和取消為兩個按鈕,名稱分別為CmdLogin和CmdCancel。
准備工作完成之後,就可以添加代碼了。代碼如下,我將逐行注釋。
取消按鈕最為簡單,代碼如下:
Private Sub CmdCancel_Click()
'//結束
End
End Sub
下面添加登錄按鈕的代碼。
Private Sub CmdLogin_Click()
Dim UserName As String
Dim PassWord As String
Dim conn As New ADODB.Connection '定義新的連接
Dim rs As New ADODB.Recordset '定義新的記錄集
Dim StrSQL As String '定義字元串StrSQL
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db1.mdb" '打開連接,指定連接路徑和支持
UserName = Trim(TxtUserName.Text) '將文本框內的值賦給定義好的變數,trim為類型轉換函數
PassWord = Trim(TxtPassword.Text)
If UserName = "" Or PassWord = "" Then '如果輸入的用戶名和密碼為空則
MsgBox "對不起,用戶或密碼不能為空!請重新輸入!!", vbCritical, "錯誤"
ElseIf UserName <> Empty And PassWord <> Empty Then '否則如果用戶名與密碼都不為空則Cnum自加1,Cnum為窗體載入時添加數字變數,用於記錄錯誤登錄次數
Cnum = Cnum + 1
StrSQL = "select * from 用戶信息表 where 用戶名稱= '" & UserName & "'and 用戶口令 ='" & PassWord & "'"
'從用戶信息表中查詢用戶名稱和用戶口令兩個欄位並獲得屬性值,為下面的判斷語句做准備
rs.Open StrSQL, conn, adOpenKeyset, adLockPessimistic '//打開記錄集,可以用數字代替
If rs.EOF = True Then '此句為判斷的核心語句,EOF的返回值表示為最後一行的後一行,和BOF類似,返回值為TRUE,則表示表中不存在這一行記錄,由此判斷密碼是否與表中記錄相一致,從而達到驗證的目的。
MsgBox "對不起,無此用戶或者密碼不正確!請重新輸入!!", vbCritical, "錯誤"
TxtUserName.Text = "" '置文本框為空
TxtPassword.Text = ""
TxtUserName.SetFocus
rs.Close '每次打開記錄完成後需要注意及時關閉,不然下次使用時會出錯
If Cnum >= 3 Then '判斷輸入錯誤次數,以提高系統的安全性能
MsgBox "對不起,您已經多次失敗,無權操作本系統!", vbCritical, "無許可權"
Unload Me
Exit Sub
End If
Else '登陸成功,以下為許可權驗證
Form2.Show
Unload Me
End if
End if
End Sub
Private Sub Form_Load()
'//載入主窗時給文本框賦值
Cnum = 0