要存取数据源内的数据,首先要建立程序和数据源之间的联机,这个工作可以藉由Connection对象帮我们完成。首先我们先以和Access 2000 数据库联机为例,首先在ASP.NET 网页前面宣告名称地址:
<%Import Namespace="System.Data"%>
<%Import Namespace="System.Data.ADO"%>
由于我们要使用ADO.NET,所以一定要宣告System.Data 的名称空间。而要和Access 2000数据库联机,必须要透过OLE DB;所以我们使用ADO 数据控制组件来和OLE DB 沟通。宣告好名称地址后,我们就可以使用Connection 对象了。Connection 对象可以使用下列语法来产生:
Dim 变数As ADOConnection
变数=New ADOConnection[("ConnectionString")]
或是直接在宣告的时候直接用New 关键词产生:
Dim 变数As ADOConnection=New ADOConnection[("ConnectionString")]
接下来我们在Page_Load 事件中宣告一个指到ADOConnection 对象的变量,并且利用New 运算子实际产生ADOConnection 对象后,再将对象的地址传给cnA:
Dim cnA As ADOConnection=New ADOConnection
接下来就可以开始设定这个Connection 对象的属性了,下表列出Connection 对象常用的属性:
ConnectionString 属性
要开启一个数据库,必需指明要开启数据库的种类、数据库服务器名称、要开启数据库名称、登入使用者名称以及密码等信息,这些信息可以直接宣告在这个属性里面。我们在开启Connection对象之前要先设定ConnectionString 属性才可以开启,这个属性有下列参数:
以我们之前所建立的Access 2000 数据库MyWeb.mdb 为例,该档案是Access 2000 所建的数据库,并和我们的网页存放于同目录,数据库文件名称为MyWeb.mdb,使用者名称没指定即为默认值Admin,并且没有密码:
cnA.ConnectionString="Provider= Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Inetpubwwwrootcrch05MyWeb.mdb;" & _
"User ID=Admin"
或者是在建立Connection 对象时直接指定ConnectionString 的值,如下范例所示:
Dim cnA As ADOConnection = New ADOConnection("连结字符串")
首先ADOConnection 对象所宣告的Provider 等于"Microsoft.Jet.OLEDB.4.0" ,由于Access2000 的mdb 数据库档案是透过Jet 4.0 引擎来驱动的,所以设定这个值是要告诉OLE DB 我们所要开启数据库是透过Jet 4.0 引擎所驱动的。Provider 参数可以支持许多数据源的设定值,如下表所示:
另外参数和参数之间要用分号「;」作分隔,其中密码没有则可以省略。连结字符串设定好后,我们就可以用Open 方法和数据源联机了。以下为开启Connection 对象的完整程序代码:
<%@Import Namespace=System.Data%>
<%@Import Namespace=System.Data.ADO%>
<Script Language="VB" Runat="Server">
Sub Page_Load(sender As Object, E As EventArgs)
Dim cnA as ADOConnection=New ADOConnection
cnA.ConnectionString= _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Inetpubwwwrootcrch05MyWeb.mdb;" & _
"User ID=Admin"
cnA.Open
End Sub
</SCRIPT>
除了设定ConnectionString 属性可以指定Connection 对象的联机行为外,我们也可以直接指定Connection 对象的属性,所以上述程序可以改写成:
<%@Import Namespace=System.Data%>
<%@Import Namespace=System.Data.ADO%>
<Script Language="VB" Runat="Server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim cnA As ADOConnection=New ADOConnection
cnA.Provider="Microsoft.Jet.OLEDB.4.0"
cnA.DataSource="C:Inetpubwwwrootcrch05MyWeb.mdb"
cnA.UserID="Admin"
cnA.Open()
End Sub
</SCRIPT>