1、 用The SQL Server .NET Data Provider連接數(shù)據(jù)庫
10余年的南沙網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整南沙建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“南沙網(wǎng)站設(shè)計”,“南沙網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
The SQL Server .NET Data Provider是利用SqlConnection類來連接SQL Server7.0或更高版本的數(shù)據(jù)庫,
SqlConnection類位于名稱空間System.Data.SqlClient下。
連接代碼:
Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String=”data source=服務(wù)器名;initial catalog=數(shù)據(jù)庫名;user id=sa;password=;”
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open ‘打開數(shù)據(jù)庫
sqlConnection1.close ‘關(guān)閉連接,釋放資源
2、 用The OLE DB .NET Data Provider連接數(shù)據(jù)庫
上面已經(jīng)說過,利用The OLE DB .NET Data Provider可以訪問Access、Oracle和SQL Server等種數(shù)據(jù)
庫,那么,它是怎樣訪問這些數(shù)據(jù)庫的呢?The OLE DB .NET Data Provider是通過位于名稱空間Sy
stem.Data.OleDb類庫下的OleDbConnection類來連接這三種不同類型的數(shù)據(jù)庫的。下面舉例說明:
1)連接SQL Server數(shù)據(jù)庫
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=SQLOLEDB;Persist Security Info=False;Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)連接Access數(shù)據(jù)庫
假設(shè)要連接的Access數(shù)據(jù)庫名為“Example.mdb”,存放在d:\Data\目錄下。
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3)連接Oracle數(shù)據(jù)庫
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=MSDAORA;Data Source=服務(wù)器名;User ID=用戶ID;Password=密碼;”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3、 用The ODBC .NET Data Provider連接數(shù)據(jù)庫
The ODBC .NET Data Provider連接數(shù)據(jù)庫是通過OdbcConnection類來實現(xiàn)的,這個類位于名稱空間
Microsoft.Data.Odbc下,而名稱空間Microsoft.Data.Odbc是封裝在Microsoft.Data.Odbc.dll文件下的。
由于篇幅有限,這里就只介紹連接Sql Server和Oracle數(shù)據(jù)庫的方法,其他數(shù)據(jù)庫的連接方法基本類
似,我就不再多講了。
1)連接Sql Server數(shù)據(jù)庫
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={SQL Server};Server=服務(wù)器名;Uid=sa;pwd=;Database= 數(shù)據(jù)庫名;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
2)連接Oracle數(shù)據(jù)庫
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服務(wù)器名;Uid=sa;pwd=;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
四、總結(jié)
通過本文的介紹,讀者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET連接各種數(shù)據(jù)庫的方法
。以上三種驅(qū)動針對不同的數(shù)據(jù)庫,它們的性能方面也有很大的不同:The SQL Server .NET Data Provider
的效率最高;The OLE DB .NET Data Provider的效率比較底;The ODBC .NET Data Provider的效率最慢。
具體連接哪一種數(shù)據(jù)庫選用哪一種數(shù)據(jù)驅(qū)動要從工作效率方面來考慮。
以上回答你滿意么?
引用 Microsoft ActiveX Data Objects 2.8 Library
或者加入microsoft ado data control
定義數(shù)據(jù)庫連接
Dim Cnn As New ADODB.Connection
定義操作記錄
Dim Res As New ADODB.Recordset
開始使用
If Res.State = 1 Then Res.Close
Res.CursorLocation = adUseClient
Res.Open "SELECT * From 發(fā)票表", Cnn, adOpenDynamic, adLockReadOnly
刪除用res.Delete
添加用res.AddNew
res.Fields("序號") = Trim(Res.Fields("序號"))
...
res.Update
更新用Res.Update "序號", 111
列:
'寫入產(chǎn)品信息
Sub WriteFP()
'On Error Resume Next
Dim SyBaseRes As New ADODB.Recordset
PB.value = 0
Res.Open "SELECT Count(*) From ICSaleEntry INNER JOIN t_Item ON ICSaleEntry.FItemID = t_Item.FItemID INNER JOIN t_MeasureUnit ON ICSaleEntry.FUnitID = t_MeasureUnit.FMeasureUnitID", SQLServer, adOpenDynamic, adLockReadOnly
Text2.Text = "當(dāng)前共 " Val(Res.Fields(0)) "條數(shù)據(jù)"
PB.Max = Val(Res.Fields(0))
If Res.State = 1 Then Res.Close
Res.Open "SELECT ICSaleEntry.FDetailID AS 序號,ICSaleEntry.FInterID AS 物料編號, t_Item.FName AS 產(chǎn)品名稱,ICSaleEntry.FAuxPrice AS 單價, ICSaleEntry.FAuxQty AS 數(shù)量,ICSaleEntry.FAmount AS 原幣, ICSaleEntry.FStdAmount AS 本幣,t_MeasureUnit.FName AS 單位 FROM ICSaleEntry INNER JOIN t_Item ON ICSaleEntry.FItemID = t_Item.FItemID INNER JOIN t_MeasureUnit ON ICSaleEntry.FUnitID = t_MeasureUnit.FMeasureUnitID", SQLServer, adOpenDynamic, adLockReadOnly
Do While Not Res.EOF
If SyBaseRes.State = 1 Then SyBaseRes.Close
SyBaseRes.Open "select * from 物料表 where 序號='" Res.Fields("序號") "'", Cnn, adOpenDynamic, adLockOptimistic
If SyBaseRes.EOF Then
Text2.Text = Text2.Text + vbCrLf + "正在添加: " Trim(Res.Fields("序號"))
SyBaseRes.AddNew
SyBaseRes.Fields("序號") = Trim(Res.Fields("序號"))
SyBaseRes.Fields("產(chǎn)品編號") = Trim(Res.Fields("物料編號"))
SyBaseRes.Fields("產(chǎn)品名稱") = Trim(Res.Fields("產(chǎn)品名稱"))
SyBaseRes.Fields("單價") = Trim(Res.Fields("單價"))
SyBaseRes.Fields("數(shù)量") = Trim(Res.Fields("數(shù)量"))
SyBaseRes.Fields("原幣") = Trim(Res.Fields("原幣"))
SyBaseRes.Fields("本幣") = Trim(Res.Fields("本幣"))
SyBaseRes.Fields("單位") = Trim(Res.Fields("單位"))
SyBaseRes.Fields("數(shù)據(jù)庫名") = Trim(Text1.Text)
SyBaseRes.Update
Else
Text2.Text = Text2.Text + vbCrLf + "正在更新: " Trim(Res.Fields("序號"))
SyBaseRes.Update "序號", Trim(Res.Fields("序號"))
SyBaseRes.Update "產(chǎn)品編號", Trim(Res.Fields("物料編號"))
SyBaseRes.Update "產(chǎn)品名稱", Trim(Res.Fields("產(chǎn)品名稱"))
SyBaseRes.Update "單價", Trim(Res.Fields("單價"))
SyBaseRes.Update "數(shù)量", Trim(Res.Fields("數(shù)量"))
SyBaseRes.Update "原幣", Trim(Res.Fields("原幣"))
SyBaseRes.Update "本幣", Trim(Res.Fields("本幣"))
SyBaseRes.Update "單位", Trim(Res.Fields("單位"))
SyBaseRes.Update "數(shù)據(jù)庫名", Trim(Text1.Text)
End If
PB.value = PB.value + 1
Res.MoveNext
DoEvents
Loop
If SyBaseRes.State = 1 Then SyBaseRes.Close
Set SyBaseRes = Nothing
End Sub
網(wǎng)絡(luò)希望不要用ACCESS用ASA(就是sybase那個太強(qiáng)了)
1·綁定數(shù)據(jù)源來進(jìn)行連接
2.用代碼連接
先到數(shù)據(jù)庫建立一個數(shù)據(jù)庫和相應(yīng)的表
連接數(shù)據(jù)庫的代碼:
Dim str As String = "Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫名;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ù)庫名;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() '顯示下個窗體
Me.Hide() ’隱藏當(dāng)前窗體
Else
MessageBox.Show("輸入信息有誤!", "提示")
TextBox1.Text = ""
TextBox2.Text = ""
End If
在此本人使用ADO對象訪問ACCESS數(shù)據(jù)庫,但ADO對象在使用前你先要進(jìn)行添加,啟動VB6后,單擊菜單“工程-引用”,打開引用對話框,選擇“Microsoft ActiveX Data Objects 2.0 Library”,將其勾選,(以2.0版本為例,實際可以選擇系統(tǒng)中的最高版本如本人的就是2.6版本),然后在當(dāng)前目錄下建立一個名為“學(xué)生”的ACCESS數(shù)據(jù)庫,其中表名為“表”,字段共有:學(xué)號,姓名,年齡,性別四個字段,接下來就是設(shè)計界面了(自己設(shè)計)
現(xiàn)在介紹如何使用代碼訪問ACCESS數(shù)據(jù)庫:
在代碼窗口中編寫一個返回字符型的函數(shù)
Function Connection() As String
'數(shù)據(jù)庫的連接設(shè)置配置
Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path + "\學(xué)生.mdb"
End Function
該函數(shù)用于連接數(shù)據(jù)庫用
Private Form_Load()
Dim cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
cnn.Open Connection
Set Rst = New ADODB.Recordset
Rst.Open "select * from 表", cnn, adOpenKeyset, adLockOptimistic
End Sub
注:
Dim cnn As New ADODB.Connection創(chuàng)建一個ADO數(shù)據(jù)庫連接對象
Dim Rst As New ADODB.Recordset為創(chuàng)建一個ADO數(shù)據(jù)庫記錄對象
select * from 表 是SQL查詢語言,這里為數(shù)據(jù)源,意思就是打開數(shù)據(jù)庫“學(xué)生”中的表“表”
下面是將數(shù)據(jù)庫表中的字段值顯示出來的一個過程
Sub View()
Dim i As Integer
For i = 0 To 2
Text1(i) = Rst.Fields(i)'text1為控件數(shù)組
Next
If (Rst.Fields(3) = True) Then
Text1(3) = "男"
Else
Text1(3) = "女"
End If
End Sub
要訪問ACCESS數(shù)據(jù)庫就這樣可以實現(xiàn),訪問SQL也差不多,稍有不同,回答完畢,如還有問題請繼續(xù)和我聯(lián)系,本人是專使用VB+SQL/Delphi+SQL開發(fā)數(shù)據(jù)庫管理系統(tǒng)的程序員。
1,使用ADO connection對象
首先,要建立ADO引用,定義connection這個類,然后實例化對象。
代碼完成如下:
span?style="font-size:18px;"Dim?objCn?As?New?Connection,?objRs?As?New?Recordset????????
objCn.ConnectionString?=?"Provider=Microsoft.Jet.OLEDB.3.51;"??"Data?Source="??App.Path??"\實例01.mdb"
objCn.Open??
/span
2,使用ODBC數(shù)據(jù)源
首先,打開電腦上的ODBC數(shù)據(jù)源,建立關(guān)系。
步驟如下:
1),打開電腦上的ODBC數(shù)據(jù)源
如下圖所示:
? ? ? ? ?
2)點擊添加
3)命名
4)和數(shù)據(jù)庫源建立關(guān)系
5)用代碼實現(xiàn)連接
span?style="font-size:18px;"???????
dim?objCn?As?Connection??
Set?objCn?=?New?Connection??
objCn.Open?"DSN=實例2DSN"??
/span
3、ADO Data 控件創(chuàng)建連接
1)右擊data控件,選擇ADODC屬性
2)從三種連接資源中選擇一種。
使用data Link 文件:直接點擊瀏覽,找到包含連接字符串的.udl文件即可
使用ODBC數(shù)據(jù)源連接,單擊新建
選擇用戶數(shù)據(jù)庫,之后的操作跟2中步驟一樣。
使用連接字符串:單擊生成
測試連接
4、使用數(shù)據(jù)環(huán)境設(shè)計器創(chuàng)建數(shù)據(jù)庫連接
添加引用
右擊創(chuàng)建連接,在右擊想要連接的屬性,之后的操作跟data控件中使用字符串中的操作一致
給你寫個例子,不明白,再問??!
'引入OLEDB命令空間
Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'定義一個OLEDB連接并實例化它
Dim con As New OleDbConnection
'定義一個OLEDB命令并實例化他
Dim cmd As New OleDbCommand
'定義一個OLEDBReader方法來讀取數(shù)據(jù)庫
Dim dr As OleDbDataReader
'初始化con的連接屬性,使用OLEDB模式,數(shù)據(jù)源為:你指定下路徑,我的是在D盤
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\dataSample.mdb"
'打開OLEDB數(shù)據(jù)連接
con.Open()
'初始化OLEDB命令的連接屬性為con,這個需要你理解下
cmd.Connection = con
'初始化OLEDB命令的語句 就是查詢 什么字段從什么表 條件是ID等于你在t1中輸入的內(nèi)容
cmd.CommandText = "select keyss from table1 where ID=" t1.Text ""
'執(zhí)行OLEDB命令以ExecuteReader()方式,并返回一個OLEDBReader,賦值給dr
dr = cmd.ExecuteReader()
'判斷下dr中是否有數(shù)據(jù)。如果有就把第一個值賦值給t2的值
If dr.Read() Then
t2.Text = dr(0)
End If
'完成后關(guān)閉dr.con等釋放資源
dr.Close()
con.Close()
End Sub
End Class
當(dāng)前標(biāo)題:vb.net連接mdb,VBNET教程
文章URL:http://chinadenli.net/article10/hdojgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、移動網(wǎng)站建設(shè)、小程序開發(fā)、用戶體驗、網(wǎng)站制作、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)