最近剛開始學習Asp.net,把連接配接資料庫的部分記下來,留着以後備用:
看的教材是《Asp.net 完全手冊》電子工業出版社的,用的好像是Vb來連接配接的,使用ADO.net
采用的連接配接方式是“簡單資料通路”(還有别的通路方式?我不知道)
1。要確定導入了ADO.NET名字空間
Imports System.Data
Imports System.Data.OleDb 或者 Imports System.Data.SqlClient
(後者是專門用于連接配接SQL的,前面那個好像是可以連接配接其他的資料庫也可以,隻是要指定OLE DB的提供程式的名字,如:SQLOLEDB是用于SQL資料庫的OLE DB提供程式;MSDAORA是用于Oracle資料庫的OLE DB提供程式;Microsoft.Jet.OLEDB.4.0是用于Access的OLEDB提供程式,這個在下面還會有說明的)
2。建立Connection對象(建立連接配接):
Imports System.Data.OleDb 的情況下:
Dim MyConnection As New OleDbConnection()
MyConnection.ConnectionString = "Provider=SQLOLEDB.1;Data Source=localhost;"&_
"Initial Catalog=Pubs;User ID=sa"
Imports System.Data.SqlClient的情況下:
Dim MyConnection As New SqlConnection()
MyConnection.ConnectionString = "Data Source=localhost; Initial Catalog=Pubs;User ID=sa"
說明:
Provider是OLE DB提供程式的名字,正如第一點裡面說的那樣。
Data Source是資料源所在伺服器的計算機名字;
Initial Catalog是此連接配接要通路的資料庫的名字,因為以後可以通過運作SQL指令或者修改Databse屬性來改變資料庫,是以這個隻是“初始”資料庫;
User ID是通路資料庫的使用者名;
另外還有:Password是密碼;ConnectionTimeout:連接配接資料的等待時間(預設為15秒)。
3。建立連接配接
建立完連接配接對象(Connection)之後,就可以開啟這個連接配接了:
MyConnection.Open()
關閉連接配接的方法:
MyConnection.Close()
4。定義SQL語句(使用Command對象)
Dim MyCommand As New OleDbCommand()
MyCommand.Connection = MyConnection
MyCommand.CommandText = "select * form Authors"
也可以用構造函數:
Dim MyCommand As New OleDbCommand("select * from Authors",Myconnection)
對于SqlCommand來說,過程完全相同:
Dim MyCommand As New SqlCommand("select * from Authors",Myconnection)
5。利用DataReader來使用Command
使用Command對象的ExecuteReader方法來建立DataReader:
Dim MyReader As OleDbDataReader
MyReader = MyCommand.ExecuteReader()
SqlDataReader的過程與此相同:
Dim MyReader As SqlDataReader
MyReader = MyCommand.ExecuteReader()
6。可以使用Read方法檢索一個記錄行了:
MyReader.Read()
然後,可以使用相應的字段名通路該記錄行中的各個值,下面的例子利用目前記錄行的名和姓字段往清單框中添加一項内容:
lstNames.Items.Add(MyReader("au_lname") & ", " & MyReader("au_fname"))
若要移動到下一行,可以再次使用Read方法。如果該方法傳回True,則說明成功檢索到一個記錄行;否則說明已經到結果集的結尾。
7。一旦閱讀完需要的所有結果,就應該關閉DataReader和Connection:
MyDataReader.Close()
MyConnection.Close()