vb調用資料庫
⑴ 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
⑵ 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中資料庫的調用怎麼做啊!具體
最最簡單的資料庫的調用是,用ADO控制項,在部件中添加ADO
6。0控制項然後把它放到窗體中,右擊選屬性,在對話框中選擇生成連接字元串,點生成按提示做就OK了,比如你要把資料庫中數據在一個文本框中顯示
在窗體中放入一個文本框,在屬性中選擇按分類序找到數據那類在DataSource設置為ADO控制項,要顯示資料庫中一個表中的某一例數據,在ADO控制項屬性中設置資源類型為表,然後到文本框屬性框中DateField中設置一下要顯示的那一例,然後運行程序就可以單擊ADO控制項中的按鈕來顯示了!!!
以上是在VB6。0中的情況啊,而且前提是你的資料庫一定要在連接狀態下,資料庫用戶一定要可用!!
⑷ 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