1·綁定數(shù)據(jù)源來進行連接

創(chuàng)新互聯(lián)建站是一家專注于做網(wǎng)站、成都網(wǎng)站制作與策劃設計,興隆臺網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設10余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:興隆臺等地區(qū)。興隆臺做網(wǎng)站價格咨詢:18982081108
2.用代碼連接
先到數(shù)據(jù)庫建立一個數(shù)據(jù)庫和相應的表
連接數(shù)據(jù)庫的代碼:
Dim str As String = "Data Source=服務器名;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=服務器名;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() ’隱藏當前窗體
Else
MessageBox.Show("輸入信息有誤!", "提示")
TextBox1.Text = ""
TextBox2.Text = ""
End If
"provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=" CurDir(FilePath)
說明:CurDir(FilePath)表示DBF文件所在的目錄,如文件路徑為:F:\編程模板\ckrjz.dbf,CurDir(FilePath)返回F:\編程模板,但在查詢是DBF文件要去文件名后綴,如ckrjz.dbf在sql查詢時,要把".DBF"去掉.如:
select * from [ckrjz]
使用ADO~~先利用數(shù)據(jù)控件oleconnection連接到數(shù)據(jù)庫,即在oledbconnection的Connectstring屬性輸入路徑,
然后使用oledbcommand并在commandtext中選擇查詢,再使
用oledbdataadapter選擇配置數(shù)據(jù)適配器,生成dataset
注:
1 oledbcommand 主要使用SQL命令
2 oledbdataadapter相當于在本地建一個表,有什么操作可以操作完后將結(jié)果傳回源表
你是不是打算象SQL里面批量插入的方法用一個INSERT語句一次性導入?那還是放棄吧。
不是說不能實現(xiàn),而是這個辦法實在沒有多大用處,實在是屠龍之技。
舉個例子吧
有A,B兩個表(是不是同一個數(shù)據(jù)庫并不重要),要求把A表的數(shù)據(jù)導入到B表中。
如果目標表(B表)中的各字段與源表(A表)相應字段的類型結(jié)構(gòu)和要求都相同,那么一次性導入顯然是個很好的辦法,但如果真的這樣的話,還用得著去導嗎?
實際工作中,你碰到的情況往往是這樣的
B表中經(jīng)常有些約束條件,比如某個字段或鍵要求是唯一的,而A表卻無此約束。
比如B表某個字段要求該字段不能為空,而A表允許
比如B表某個字段要求該字段必須符合一定的數(shù)據(jù)格式,而A表不滿足。
比如B表某個字段的最大字長低于A表某個記錄的實際字長。
比如B表有索引,而A表沒有。
等等等等
如果碰到這些情況,顯然是不可能成功導入的。
這是經(jīng)常會碰到的。
唯一的辦法,只能一條條地導入。
我也是后來才明白這個理的。
下面我們來看看如何一條條地導入的
方法不只一種,我是用ADO對象來實現(xiàn)的。
用兩個CONNECTION對象分別建立到源數(shù)據(jù)庫和目標數(shù)據(jù)庫的連接
建立一個記錄集,使用OPEN的方法從源表得到滿足要求的數(shù)據(jù)記錄
將記錄指針移至首條
對記錄的每一個字段進行檢查,如果不滿足目標表的約束條件,必須修改該字段,使之合法。
使用CONNECTION對象的EXECUTE方法將修正后的數(shù)據(jù)插入到目標表
同法處理下一條數(shù)據(jù)直至最后一條。
1、 用The SQL Server .NET Data Provider連接數(shù)據(jù)庫
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=服務器名;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=服務器名;Initial Catalog=數(shù)據(jù)庫名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)連接Access數(shù)據(jù)庫
假設要連接的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=服務器名;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=服務器名;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=服務器名;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ū)動要從工作效率方面來考慮。
以上回答你滿意么?
兩個數(shù)據(jù)庫連接,一個讀DBF,一個寫ACCESS。怎么讀寫這兩種數(shù)據(jù)庫,到網(wǎng)上下個例子就OK了。
當前題目:包含vb.net與dbf連接的詞條
網(wǎng)址分享:http://chinadenli.net/article20/hsgdjo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、移動網(wǎng)站建設、關(guān)鍵詞優(yōu)化、Google、網(wǎng)站建設、網(wǎng)站收錄
聲明:本網(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)