我們需要引用ADO.具體的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",這里的"*.*"是指的時(shí)ADO的版本號(hào),一般來(lái)說(shuō),應(yīng)用程序或ActiveX控件都具有向下兼容性,所以我們盡可能選擇比較新的版本.以確保程序在能識(shí)別舊版本Access的同時(shí),也能識(shí)別較新版本的Access.
成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、松桃網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為松桃等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
然后我們需要在程序中創(chuàng)建一個(gè)對(duì)象.就好比我們?cè)诖绑w上添加一個(gè)FileBox才能看到文件名一樣,只有創(chuàng)建了ADO對(duì)象,我們才能夠訪(fǎng)問(wèn)數(shù)據(jù)庫(kù).常用的對(duì)象有兩個(gè),Connection和Recordset.
創(chuàng)建這兩個(gè)對(duì)象的具體方法是:
1.在引用后,使用New關(guān)鍵字,如
Private Conn As New ADODB.Connection
Private Reco As New ADODB.Recordset
2.在沒(méi)引用時(shí),用CreateObject創(chuàng)建對(duì)象:
Dim Conn,Reco
Set Conn = CreateObject("ADODB.Connection")
Set Reco = CreateObject("ADODB.Recordset")
創(chuàng)建了對(duì)象之后,下一步我們要做的就是打開(kāi)數(shù)據(jù)庫(kù)了.
先看下面的代碼,可以成功的打開(kāi)數(shù)據(jù)庫(kù).
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"
這句代碼打開(kāi)了D盤(pán)中的Main.mdb這個(gè)數(shù)據(jù)庫(kù).
Connection.Open方法的第一個(gè)參數(shù)是連接代碼,它將傳遞給系統(tǒng)的數(shù)據(jù)庫(kù)引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了數(shù)據(jù)庫(kù)的類(lèi)型.不同的數(shù)據(jù)庫(kù)可能會(huì)不同.后半句"Source=d:\main.mdb"它表示了數(shù)據(jù)庫(kù)所在的絕對(duì)路徑.
打開(kāi)數(shù)據(jù)庫(kù)之后,還要打開(kāi)表.假如數(shù)據(jù)庫(kù)中有一個(gè)表,表名為"Users",字段有兩個(gè),一個(gè)為用戶(hù)名,一個(gè)為密碼.那么看以下代碼.
1.想返回"Users"中,[用戶(hù)名]為"去年煙花"的[密碼]
Recordset.open "Select 密碼 From Users Where 用戶(hù)名='去年煙花'",Connection,1,1
之后我們就可以把用戶(hù)輸入的密碼進(jìn)行比較,看是否允許登錄.
If Recordset.eof and Recordset.bof then
Msgbox "用戶(hù)不存在!",16
Else
If PassWord =Recordset("密碼").value then
msgbox "登錄成功!",64
Else
msgbox "密碼錯(cuò)誤!",32
End If
End If
Recordset.Close
2.假設(shè)Admin已經(jīng)成功登錄系統(tǒng),我們想把所有的用戶(hù)名和密碼都顯示出來(lái)
Recordset.open "Select * From Users",Connection,1,1
這時(shí),表已經(jīng)被打開(kāi),我們就用以下代碼把它顯示出來(lái).
Do whlie Not Recordset.eof
Print "用戶(hù)名: " Recordset("用戶(hù)名").value "密碼: " Recordset("密碼").value
Recordset.MoveNext
Loop
Recordset.Close
由以上代碼示例可以看出,打開(kāi)表時(shí),可以只打開(kāi)其中的一個(gè)字段,也可以打開(kāi)所有.第一個(gè)參數(shù)是SQL語(yǔ)句.
Select [字段名] From 表名 [Where 條件]
這里的條件可以省略.且字段名也可以用"*"來(lái)代替所有字段.
需要注意的是,如果你用(1)中的方法打開(kāi),那么(2)后面顯示的代碼就不能再用在(1)中.因?yàn)?1)里并沒(méi)有打開(kāi)[用戶(hù)名]字段,所以這一句Recordset("密碼")就沒(méi)有值存在,還有可能出錯(cuò).
后面的條件,可以用"="、""、""等運(yùn)算符.比如 "Where ID 32".(這里假設(shè)[ID]為數(shù)字型.)
這是打開(kāi)的部分.第二個(gè)很重要的部分就是查詢(xún)記錄.
數(shù)據(jù)庫(kù)它并不是把所有記錄全部放到一個(gè)變量中備用的.而是以"當(dāng)前記錄"的形式來(lái)返回一個(gè)值.所以我們想從中找到有用的信息,就必須要對(duì)信息進(jìn)行定位/篩選.
定位:
移動(dòng)到下一條 Recordset.MoveNext
移動(dòng)到上一條 Recordset.MovePrevious
移動(dòng)到最后一條 Recordset.MoveLast
移動(dòng)到第一條 Recordset.MoveFrist
移動(dòng)到某一條 Recordset.Move Number
篩選:
Recordset.Find "條件"
如:[用方法(2)打開(kāi)表之后]
Private Sub Command1_Click()
Recordset.Find "用戶(hù)名=" "text1.text"
If Recordset.Eof True Then
Msgbox "該用戶(hù)的密碼是:" Recordset("密碼").value,64
Else
Msgbox "未找到該用戶(hù)的資料!",16
End If
End Sub
MoveNext 只有當(dāng)Eof不為T(mén)rue時(shí),才可用,否則發(fā)生錯(cuò)誤.而MovePrevious剛是Bof不為T(mén)rue時(shí)....
而只要Eof 和 Bof中有一個(gè)不為真時(shí),也就是說(shuō)只要有一條記錄時(shí),它就可以使用.
Find 方法中的條件和Open時(shí)的第一個(gè)參數(shù)中的條件表述方法是完全一致的.當(dāng)在已打開(kāi)的記錄集中,找不到該記錄時(shí),Eof為T(mén)rue.找到則當(dāng)前的值就是符合條件的記錄.
第三個(gè)部分就是添加/修改記錄.
修改記錄很簡(jiǎn)單,先按以上的方法找到相關(guān)記錄之后,給記錄賦值就可以了.
比如:[(修改密碼)按方法(1)打開(kāi)表之后]
Recordset("密碼").value = "123456"
Recordset.Updata
需要注意的就是,在修改完成后,要調(diào)用Updata方法,這樣修改才能生效.
而添加記錄則可以用以下代碼來(lái)實(shí)現(xiàn):
Recordset.addnew
Recordset("用戶(hù)名").value = "Admin"
Recordset("密碼").value = "Admin"
Recordset.Updata
這里,先要調(diào)用Addnew方法,增加一條新記錄,然后對(duì)這個(gè)新記錄中的各字段賦值,最后再調(diào)用Updata方法.
到這里就差不多了,最后說(shuō)一下上面提到的幾個(gè)方法.
Recordset.Open SQL語(yǔ)句,數(shù)據(jù)源,游標(biāo)類(lèi)型,打開(kāi)方法
SQL語(yǔ)句不用說(shuō)了,就是Select那啥的,目的就是按要求從表中返回?cái)?shù)據(jù)
數(shù)據(jù)源就是一個(gè)打開(kāi)之后的Connection對(duì)象.
去他媽的游標(biāo)類(lèi)型,填1就可以了 [偷笑ing]
打開(kāi)方法對(duì)應(yīng)了幾個(gè)常數(shù),具體哪幾個(gè)可以從對(duì)象瀏覽器里看.
對(duì)應(yīng)數(shù)值的意義:
1 只讀 2 獨(dú)占 3 可寫(xiě) 4 自已可寫(xiě),別人可讀
Connection.open 連接代碼,服務(wù)器用戶(hù)名,密碼
這里的連接代碼就不在多說(shuō)了,服務(wù)器用戶(hù)名,密碼只有在連接遠(yuǎn)程數(shù)據(jù)庫(kù)時(shí)才用到.
Dim
sqlConnection1
As
SqlClient.SqlConnection
Dim
strConnect
As
String=”data
source=服務(wù)器名;initial
catalog=數(shù)據(jù)庫(kù)名;user
id=sa;password=;”
sqlConnection1=New
System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open
‘打開(kāi)數(shù)據(jù)庫(kù)
sqlConnection1.close
‘關(guān)閉連接,釋放資源
1)連接Sql
Server數(shù)據(jù)庫(kù)
Dim
odbcDbConnetion1
As
Microsoft.Data.OdbcConnection
Dim
strConnect
As
Sting=”Driver={SQL
Server};Server=服務(wù)器名;Uid=sa;pwd=;Database=
數(shù)據(jù)庫(kù)名;”
odbcDbConnetion1=New
Microsoft.Data.OdbcConnection(strConnect)
1·綁定數(shù)據(jù)源來(lái)進(jìn)行連接
2.用代碼連接
先到數(shù)據(jù)庫(kù)建立一個(gè)數(shù)據(jù)庫(kù)和相應(yīng)的表
連接數(shù)據(jù)庫(kù)的代碼:
Dim str As String = "Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;Persist Security Info=True;User ID=;Password="
dim conn As SqlClient.SqlConnection
try
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
Return True
Catch ex As Exception
MsgBox(ex.ToString)
Return False
End Try
登錄代碼:Dim str As String = "Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;Persist Security Info=True;User ID=;Password="
dim conn As SqlClient.SqlConnection
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
sqlstr = "Select * From Amd Where AmdName='" TextBox1.Text "' And AmdPwd = '" TextBox2.Text "'"
Dim sqlcmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(sqlstr, conn)
Dim dr As SqlClient.SqlDataReader
dr = sqlcmd.ExecuteReader
If dr.Read = True Then '判斷一條記錄為真
kf.Show() '顯示下個(gè)窗體
Me.Hide() ’隱藏當(dāng)前窗體
Else
MessageBox.Show("輸入信息有誤!", "提示")
TextBox1.Text = ""
TextBox2.Text = ""
End If
新聞標(biāo)題:vb.net行連接的簡(jiǎn)單介紹
文章起源:http://chinadenli.net/article38/heispp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、Google、域名注冊(cè)、做網(wǎng)站、網(wǎng)站制作、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)