天天看点

初学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()