最近刚开始学习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()