連接數(shù)據(jù)庫(kù) 如果采用的 ADO.NET 進(jìn)行連接,默認(rèn)情況下會(huì)有一個(gè)你看不見(jiàn)的 連接池 來(lái)管理這些連接,然后 你每次程序里的關(guān)閉數(shù)據(jù)庫(kù),只是把連接放回連接池,方便下次重新連接。
創(chuàng)新互聯(lián)主營(yíng)安丘網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件定制開(kāi)發(fā),安丘h5微信平臺(tái)小程序開(kāi)發(fā)搭建,安丘網(wǎng)站營(yíng)銷推廣歡迎安丘等地區(qū)企業(yè)咨詢
所以不用就關(guān),避免連接池連接數(shù)過(guò)多。
如果樓主熟悉VB6,可以直接在項(xiàng)目中添加ADODB的Com引用,這樣你就可以像VB6那樣操作數(shù)據(jù)庫(kù)了!
另外
.NET Framework中連接數(shù)據(jù)庫(kù)要用到ADO.NET。如果要操作Access數(shù)據(jù)庫(kù),要用到System.Data.OleDb命名空間下的許多類。
比如按樓主所說(shuō),“我想在textbox1中顯示表一中【一些數(shù)據(jù)】字段下的第一個(gè)內(nèi)容”:
'首先導(dǎo)入命名空間
Imports System.Data
Imports System.Data.OleDb
'然后在某一個(gè)事件處理程序中寫(xiě):
Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=數(shù)據(jù)庫(kù).accdb;Jet OLEDB:Database Password=MyDbPassword")
Dim command As New OleDbCommand("Select * From 數(shù)據(jù)表", conn)
conn.Open() '打開(kāi)數(shù)據(jù)庫(kù)連接
Dim reader As OleDbDataReader = command.ExecuteReader() '執(zhí)行SQL語(yǔ)句,返回OleDbDataReader 對(duì)象
Do While reader.Read() '讀取一條數(shù)據(jù)
textbox1.Text += reader("一些數(shù)據(jù)") VbCrLf
Loop
reader.Close() '關(guān)閉OleDbDataReader
conn.Close() '關(guān)閉連接
使用ADO控件可以方便的在VB6中訪問(wèn)ODBC數(shù)據(jù)庫(kù),但是通過(guò)直接放置ADODS控件來(lái)獲得ADO的數(shù)據(jù)連接比較麻煩,我們可以在VB工程中創(chuàng)建一個(gè)公共數(shù)據(jù)模塊,將ADO控件的初始化、建立連接、關(guān)閉連接等操作都寫(xiě)到函數(shù)中,這樣就可以在工程的其他模塊中共享調(diào)用這個(gè)ADO連接。
一次完整的ADO調(diào)用操作分為如下幾個(gè)步驟:
打開(kāi)ADO到數(shù)據(jù)庫(kù)的連接,初始化ADO RECORDSET集。
通過(guò)寫(xiě)入SQL語(yǔ)句執(zhí)行查詢并返回查詢結(jié)果RECORDSET集;或者可以通過(guò)寫(xiě)入SQL語(yǔ)句執(zhí)行相應(yīng)數(shù)據(jù)庫(kù)操作。
釋放RECORDSET集,關(guān)閉數(shù)據(jù)庫(kù)連接。
需要注意的是,每個(gè)動(dòng)態(tài)創(chuàng)建的ADO同時(shí)只能被一個(gè)過(guò)程調(diào)用,如果需要進(jìn)行多表并行操作,可能需要在公共數(shù)據(jù)模塊中建立多個(gè)動(dòng)態(tài)ADO。
下面是相關(guān)的代碼:
'-----------------------------------------------------------------
'如下代碼保存在名為my.bas的工程模塊中
Public CONN As Adodb.Connection '定義ADO CONNECTION對(duì)象
Public RS As Adodb.Recordset '定義ADO RECORDSET對(duì)象
'****************************
'打開(kāi)數(shù)據(jù)庫(kù)連接
'****************************
Function ConnOpen()
Dim ASTR As String
Set CONN = New Adodb.Connection
ASTR = GetDatabasePath 'MDB文件數(shù)據(jù)庫(kù)路徑
CONN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ASTR ";Persist Security Info=False"
'本例的ODBC連接為JET4.0的直接到MDB文件的連接,如果使用ODBC數(shù)據(jù)源可以使用如下CONNECTION串:
'Provider=MSDASQL.1;Password="";Persist Security Info=True;Data Source=數(shù)據(jù)源名稱;Initial Catalog=數(shù)據(jù)表庫(kù)名稱
你是關(guān)閉本地的,又沒(méi)有立即關(guān)閉遠(yuǎn)程Server上的,他是個(gè)pip協(xié)議對(duì)等試的連接,打個(gè)比方,兩個(gè)電腦要共享一個(gè)文件夾,不能說(shuō)直接用一臺(tái)電腦配好就可以看吧,要設(shè)置共享協(xié)議。
這邊釋放關(guān)閉連接不代表就更新了另一臺(tái)電腦,他還是在判斷有無(wú)連接響應(yīng),這就是為什么連接多了會(huì)形成“死鎖”。