Dataset有一个缺省的 Dataview,下面我们就把它和 Datagrid绑定 My First Data Grid DataSource objDataset. Tables("Author Information"). DefaultView MyFirst Data Grid Databind( 324完整的代码 (code\122301. aspx) %( Import Namespace="System. Data"%> <% Import Namespace="System. Data ADO"%> 设置连接串 Dim str ConnString as String strConnString="Provider=SQLOLEDB; Data Source=(local); " lbs: User Id=sa 创建对象 ADOConnection Dim obj Conn as ADOConnection b j Conn= New AdOConnection 设置 ADOCOnnection对象的连接串 objConn. Connection String=strConnString obj Conn. Open("打开数据链路 创建SQL字符串 Dim strSQL as String="SELECT* FROM authors 创建对象 ADODataset Command和 Dataset Dim objDSCommand as ADODataset Command Dim ob Dataset as Dataset=New Dataset objDS Command= New ADODataset Command(strSQL, obj Conn) 填充数据到 Dataset 并将数据集合命名为" Author information" obj DS Command. Fill DataSet(objDataset, "Author Information") obj Conn. Close‘关闭数据链路 obj Conn= Nothing·清除对象
Dataset 有一个缺省的 Dataview,下面我们就把它和 DataGrid 绑定: MyFirstDataGrid.DataSource = _ objDataset.Tables("Author Information").DefaultView MyFirstDataGrid.DataBind() 3.2.4 完整的代码 (code\122301.aspx) <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.ADO" %> <% '设置连接串... Dim strConnString as String strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _ "Initial Catalog=pubs; User ID=sa" '创建对象 ADOConnection Dim objConn as ADOConnection objConn = New ADOConnection '设置 ADOCOnnection 对象的连接串 objConn.ConnectionString = strConnString objConn.Open() '打开数据链路 '创建 SQL 字符串 Dim strSQL as String = "SELECT * FROM authors" '创建对象 ADODatasetCommand 和 Dataset Dim objDSCommand as ADODatasetCommand Dim objDataset as Dataset = New Dataset objDSCommand = New ADODatasetCommand(strSQL, objConn) '填充数据到 Dataset '并将数据集合命名为 "Author Information" objDSCommand.FillDataSet(objDataset, "Author Information") objConn.Close() '关闭数据链路 objConn = Nothing '清除对象
Authors DataSource= objDataset. Tables("Author Information").DefaultView Authors. Data Bindo <HTML> <BODY> asp Data Grid id="Authors"runat="server"1> <BODY> <HTML> 325运行效果 ahttp://localhost/expert/122301.aspx-microsoftInternetExplorer 查看y收藏()工具①帮助 中后退·中③团备③搜索囟收藏③史·刍 地址)]http://localhos2124 转到链接 au id au_ lname au_fname phon tatezip contract 408 32- White Johnson 496-10932 Bigge Menl Park CA 94025 True 117 213 415 46- Green 30963rd Marjorie 986- 8915 7020 St. #411 Jakl and CA 94618 True 238- 415 arson 548-589 Darwin 723n berkeley Ca 94705 True 7766 267- 40822 41-0 Leary Michael 286- Clevel and San Jose CA 95128 True 2428Av.#14 274 415 80- Strai Dean 5420 9391 834 College Av. Oakland CA 94609 True 包完成 本地I Intranet 326小结 本章详细介绍了如何使用 ADO NET方法访问数据库的步骤,并给出了一个具体的例子 演示如何从服务器端取得pubs数据库中的 authors表的数据到本地的 DataSet中,然后使用 Datagrid控件绑定到 DataSet上,最后在客户端显示。虽然这还比较简单,但这却是最常用
Authors.DataSource = _ objDataset.Tables("Author Information").DefaultView Authors.DataBind() %> <HTML> <BODY> <asp:DataGrid id="Authors" runat="server"/> </BODY> </HTML> 3.2.5 运行效果 3.2.6 小结 本章详细介绍了如何使用 ADO.NET 方法访问数据库的步骤,并给出了一个具体的例子 演示如何从服务器端取得 pubs 数据库中的 authors 表的数据到本地的 DataSet 中,然后使用 DataGrid 控件绑定到 DataSet 上,最后在客户端显示。虽然这还比较简单,但这却是最常用
的技术 第三章AD0NET数据连接方法 331数据库连接字符串 一个Web应用往往包括几十上百个ASPX文件。如果在每一个文件里都是直接构造这 个数据库连接字符串,首先是觉得麻烦,其次,如果数据库发生了什么变化,比如密码变化, 或者IP变化,难道你都要改动每一个ASPX文件? 在《轻松组建网上商店》第一版里,我们通过把数据库连接字符串封装到 pplication(“ strConv)变量里面,在 global.asa中初始化这个 Application变量,从而解决了 这个难题 另外的一个解决方法就是写一个 DbOpen函数,放到独立的一个ASP文件里,然后在 其他的文件里包含这个 DeEpen函数所在的文件。 这些方法在ASP时代非常流行。在 ASPNET时代,这些方法大部分依然有效,但是这 里介绍的方法,却是利用了 ASPNET的特性。我们如果学习 ASPNET,就一定要按照 ASPNET的风格来编写代码。这样会给你带来意想不到的性能提高。 和在ASP里面类似, ASPNET也有一个 Application一级的配置文件,叫做 config. web 通过简单地配置 config. web,就可以解决数据库连接字符串问题 (config. web) contiguration> <add key="str Conn"value="server=localhost; uid=sa pwd=, Database=pubs configuration> 在aspx页面里,我们可以这样获得数据库连接字符串 Dim My Connection As SQLConnection Dim Config as hash Table 把 config. web的 appsettings全部读到临时对象中 Config= Context. GetConfig("appsettings") Config临时对象实际上是一个集合 My Connection= New SQLConnection(Config("My Conn")) 关于 config. web的详细介绍,请阅读后面的章节 此处要说明的是,本书为了使各个例子相对独立,没有采用上面介绍的方法
的技术。 第三章 ADO.NET 数据连接方法 3.3.1 数据库连接字符串 一个 Web 应用往往包括几十上百个 ASPX 文件。如果在每一个文件里都是直接构造这 个数据库连接字符串,首先是觉得麻烦,其次,如果数据库发生了什么变化,比如密码变化, 或者 IP 变化,难道你都要改动每一个 ASPX 文件? 在 《 轻松 组建 网上 商店 》第 一版 里, 我们 通过 把数 据库 连接 字符 串封 装 到 Application(“strConn”)变量里面,在 global.asa 中初始化这个 Application 变量,从而解决了 这个难题。 另外的一个解决方法就是写一个 DbOpen 函数,放到独立的一个 ASP 文件里,然后在 其他的文件里包含这个 DbOpen 函数所在的文件。 这些方法在 ASP 时代非常流行。在 ASP.NET 时代,这些方法大部分依然有效,但是这 里介绍的方法,却是利用了 ASP.NET 的特性。我们如果学习 ASP.NET,就一定要按照 ASP.NET 的风格来编写代码。这样会给你带来意想不到的性能提高。 和在 ASP 里面类似,ASP.NET 也有一个 Application 一级的配置文件,叫做 config.web。 通过简单地配置 config.web,就可以解决数据库连接字符串问题: (config.web) <configuration> <appsettings> <add key="strConn" value="server=localhost;uid=sa;pwd=;Database=pubs"/> </appsettings> </configuration> 在 aspx 页面里,我们可以这样获得数据库连接字符串: Dim MyConnection As SQLConnection Dim Config as HashTable ‘把 config.web 的 appsettings 全部读到临时对象中 Config = Context.GetConfig("appsettings") ‘Config 临时对象实际上是一个集合。 MyConnection = New SQLConnection(Config("MyConn")) 关于 config.web 的详细介绍,请阅读后面的章节。 此处要说明的是,本书为了使各个例子相对独立,没有采用上面介绍的方法
332两种数据库连接方式 ASPNET不仅带来了 ADO NET,还带来了 SQL Managed Provider。这样在 ASPNET里,我 们就有了两种连接数据库的方式: 1 ADO. NET Managed Provider 2, SQL Managed Provider 其中,方式一可以连接到任何ODBC或者 OLEDB数据中心,而方式二可以连接到 MS SQL Server。仅仅就 MS SQL Server来讲,使用方式二在性能上要优于方式一。 下面我们来看看数据库连接的各种情况 3.3.2.1 ADO. NET Managed Provider A ODBC 我们要连接的数据库是 MS SQL Server中的pubs数据库。首先我们创建一个DSN:控制面 板>管理工具>>数据源(ODBC)>添加 ? 用户sW系统I|文件s驱动程序跟踪连接池|关于 系统数据源) 添加① PBServer Driver do Microsoft Access (* mdb) 删除 Microsoft oDBc50L5 erver D5N配置 此向导将帮助建立一个能用于连接 SQL Server的0DBC数据源 您想用什么名称来命名数据源 ∴3 名称):bs 您希望如何描述此数据源? 说明①) Ie您想连接哪一个 SQL Server? 服务器):aoa 匚完成。下一步⑩丬取消」帮助 下面的代码就创建了一个到 MS SQL Server中pubs数据库的连接 <% Import Namespace="System. Data ADO"%> <script language="VB"RunAt="Server"> 创建对象 ADOConnection Dim obj Conn as ADOConnection=New ADOConnection("DSN=pubs")
3.3.2 两种数据库连接方式 ASP.NET 不仅带来了 ADO.NET,还带来了 SQL Managed Provider。这样在 ASP.NET 里,我 们就有了两种连接数据库的方式: 1、ADO.NET Managed Provider 2、SQL Managed Provider 其中,方式一可以连接到任何 ODBC 或者 OLEDB 数据中心,而方式二可以连接到 MS SQL Server。仅仅就 MS SQL Server 来讲,使用方式二在性能上要优于方式一。 下面我们来看看数据库连接的各种情况。 3.3.2.1 ADO.NET Managed Provider 和 ODBC 我们要连接的数据库是 MS SQL Server 中的 pubs 数据库。首先我们创建一个 DSN:控制面 板>>管理工具>>数据源(ODBC)>>添加: 下面的代码就创建了一个到 MS SQL Server 中 pubs 数据库的连接: <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.ADO" %> <script language=”VB” RunAt=”Server”> … '创建对象 ADOConnection Dim objConn as ADOConnection=New ADOConnection(“DSN=pubs”)
obj Conn. Open)·打开数据链路 注意开始的两个 Import语句。这是 ADONET对象所在的 Namespace ADO. NET Managed Provider+ODBC可以连接到各种数据源,包括: MS SQL Server、 Access Excl、 mySQL、 Oracle,甚至格式化的文本文件等等。 33211一个完整的例子 <%a Page language=vb"%> % Import Namespace ="System. Data"%> % Import Namespace ="System. Data ADO"%> <script runat=server> Sub Page Load( By Val Sender As object, By Val e As EventArgs) On Error resume next Dim cn As ADOConnection cn= New ADOConnection("DSN=NWind") If cn. State= 1 Then IblReturn Code. Text = "The Connection State is: " cn State " Connection Succeeded" Else IblReturn ode Text "The Connection State is # cn State "cOnnection Failed End If End Sub <asp: Label id="lblReturn Code"Runat=server 3.3.2.2 ADO. NET Managed Provider A OLEDB 建立一个到 OLEDB数据中心的连接,就需要精心构造数据库连接字符串。下面的代码建立 了一个到 Access数据库的连接
objConn.Open() '打开数据链路 … </script> 注意开始的两个 Import 语句。这是 ADO.NET 对象所在的 Namespace。 ADO.NET Managed Provider+ODBC 可以连接到各种数据源,包括:MS SQL Server、Access、 Excel、mySQL、Oracle,甚至格式化的文本文件等等。 3.3.2.1.1 一个完整的例子 <%@ Page Language="vb" %> <%@ Import Namespace = "System.Data" %> <%@ Import Namespace = "System.Data.ADO" %> <html> <head> <script runat=server> Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs) On Error Resume Next Dim cn As ADOConnection cn = New ADOConnection("DSN=NWind") cn.Open() If cn.State = 1 Then lblReturnCode.Text = "The Connection State is: " & cn.State & " - Connection Succeeded" Else lblReturnCode.Text = "The Connection State is: " & cn.State & " - Connection Failed" End If End Sub </script> </head> <body> <asp:Label id="lblReturnCode" Runat=server /> </body> </html> 3.3.2.2 ADO.NET Managed Provider 和 OLEDB 建立一个到 OLEDB 数据中心的连接,就需要精心构造数据库连接字符串。下面的代码建立 了一个到 Access 数据库的连接: