天天看點

初學Asp.net連接配接資料庫

最近剛開始學習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()