ASP访问数据库的实例 例26:与数据库建立连接,文件名为9-26.aspa <% LANGUAGE=VBScript % % Option explicit Dim Cnn strCnn 创建 Connection对象 Set Cnn =Server CreateObject("ADODB Connection") StrCnn = Driver= Microsoft Access Driver(*. mdb)): DBQ=& Server MapPath("bbs. mdb 使用 Connection对象的open方法打开数据库 bbs. mdb,该数据 库用户自己建立 Cnn. Open strCnn Response. Write Server MapPath("bbs. mdb")&<br> Response. Write"数据库连接成功:"& Cnn. State&"<br 使用 Connection对象的 Close方法关闭连接 Cnn. close Response.Wrie"数据库已经关闭:"&Cnn. State 将 Connection对象从内存中删除,以释放资源 Set Cnn = Nothing ‰〉 运行结果如图
ASP访问数据库的实例 例 26:与数据库建立连接,文件名为 9-26.asp。 <% @ LANGUAGE=VBScript %> <% Option Explicit Dim Cnn, StrCnn '创建 Connection 对象 Set Cnn = Server.CreateObject("ADODB.Connection") StrCnn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bbs.mdb;") '使用 Connection 对象的 Open 方法打开数据库 bbs.mdb,该数据 库用户自己建立 Cnn.Open StrCnn Response.Write Server.MapPath("bbs.mdb") & "<br>" Response.Write "数据库连接成功: " & Cnn.State & "<br>" '使用 Connection 对象的 Close 方法关闭连接 Cnn.close Response.Write "数据库已经关闭: " & Cnn.State '将 Connection 对象从内存中删除,以释放资源 Set Cnn = Nothing %> 运行结果如图
E编辑查看(收藏” 如后退·→③回备③搜索 地址①·同235-1转到链援 国上网助手召暂停拦截〈清理 root bbs. mdb 据库 数据库 完毕□□□皚本地 Intranet 例9.27循环检索记录,文件名为9-27a.asp 和9-27basp。先注册文件数据源为Myaa.dsn,使 用的数据库为 northwind.mdb 9-27a.asp的内容如下: <% strDSN ="FILEDSNMyaa dsn Set cn = Server CreateObject ("ADODB Connection cn. Open strDSN //初始化 Recordset对象 Set rsCustomers= Server. CreateOb ject("ADODB. Recordset") strSQL=" SELECT联系人姓名,公司名称FROM客户WER客户 ID= FAMIA rsCustomers. Open strSQL, n //循环查询,并显示结果 Set ob jFirstName= rs Customers("联系人姓名") Set ob jLastName= rs Customers("公司名称") Do Until rs customers eOF esponse Write ob jFirstName objLastName
例 9.27 循环检索记录,文件名为 9-27a.asp 和 9-27b.asp。先注册文件数据源为 Myaa.dsn,使 用的数据库为 northwind.mdb。 9-27a.asp 的内容如下: <% strDSN = "FILEDSN=Myaa.dsn" Set cn = Server.CreateObject("ADODB.Connection") cn.Open strDSN //初始化 Recordset 对象 Set rsCustomers = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT 联系人姓名, 公司名称 FROM 客户 WHERE 客户 ID= 'FAMIA' " rsCustomers.Open strSQL,cn //循环查询,并显示结果 Set objFirstName = rsCustomers("联系人姓名") Set objLastName = rsCustomers("公司名称") Do Until rsCustomers.EOF Response.Write objFirstName & "-------- " & objLastName
&"<BR> rs Customers. MoveNext Loop ‰〉 9-27b.asp的内容如下 < 与9-27a.asp的区别是未建立 Connection对象,但结果相同 strDSN="FILEDSN=Myaa dsn strSQL=" SELECT联系人姓名,公司名称FROM客户WRE客户 ID=’ FAMIA Set rsCustomers =Server CreateObject(" ADODB. Recordset") rsCustomers. Open strsQL, strDSN Set ob jFirstName= rs Customers("联系人姓名" Set ob jLastName= rscustomers("公司名称") Do Until rs Customers eoF Response. Write ob jFirstName objLastName KBR> rs Customers MoveNext Loop ‰〉 9-27a.asp和9-27a.asp的运行结果如图:
& "<BR>" rsCustomers.MoveNext Loop %> 9-27b.asp 的内容如下: <% ’与 9-27a.asp 的区别是未建立 Connection 对象,但结果相同 strDSN = "FILEDSN=Myaa.dsn" strSQL = "SELECT 联系人姓名, 公司名称 FROM 客户 WHERE 客户 ID= 'FAMIA' " Set rsCustomers = Server.CreateObject("ADODB.Recordset") rsCustomers.Open strSQL, strDSN Set objFirstName = rsCustomers("联系人姓名") Set objLastName = rsCustomers("公司名称") Do Until rsCustomers.EOF Response.Write objFirstName & "-------- " & objLastName & "<BR>" rsCustomers.MoveNext Loop %> 9-27a.asp 和 9-27a.asp 的运行结果如图:
描E查(收)工具”文件查看 ③没搜索收藏夹 后退·→·③的岱驶索收藏英 地·同物到接”地,到量 上同助手,暂停拦截清复 网助手·暂停拦酸洒理修复 Aria Cru Familia Ars □匚本烤欢陋完毕 □厂课本堵 Intranet 例9.30本例共有两个文件:test9-30.htm1 和9-30. aspo test9-30.htm1用来产生向用户收集 信息的表单,用户可以指定要查看“图书信息”或 “作者信息”。9-30.asp用来响应用户的请求。 test9-30.htm1的内容如下 <htm1> <body <form method=post action=9-30 asp> <p>查看客户信息请点击这里 < input type= submit name= button value="客户信息" </p <p>查看产品信息请点击这里 < input type= submit name= button va1ue="产品信息" </form> </body> </htm1>
例 9.30 本例共有两个文件:test9-30.html 和 9-30.asp。test9-30.html 用来产生向用户收集 信息的表单,用户可以指定要查看“图书信息”或 “作者信息” 。 9-30.asp 用来响应用户的请求。 test9-30.html 的内容如下: <html> <body> <form method=post action=9-30.asp> <p>查看客户信息请点击这里 <input type=submit name=button value="客户信息"> </p> <p>查看产品信息请点击这里 <input type=submit name=button value="产品信息"> </p> </form> </body> </html>
9-30.asp的内容如下: <% const adOpenStatic=3 const adlockReadOnly=1 建立 Recordset对象 Set rs=Server CreateObject("ADODB. Recordset") 提取表单域“ button”的值 button=Request Form(button 设定光标类型为静态 CursorType=adopenStatic 设定锁定类型为只读 LockType=adLockReadOnly 如果用户选择“客户信息”则执行下面的代码 If button="客户信息"Then SoUrce=" select*from客户〃 active Connection="dsn=pubs rs. open source, activeConnection, CursorType, LockType end if 如果用户选择“产品信息”则执行下面的代码 If button="产品信息〃Then Source=" select*from产品 Active Connection="dsn=pubs
9-30.asp 的内容如下: <% const adOpenStatic=3 const adLockReadOnly=1 '建立 Recordset 对象 Set rs=Server.CreateObject("ADODB.Recordset") '提取表单域“button”的值 button=Request.Form("button") '设定光标类型为静态 CursorType=adOpenStatic '设定锁定类型为只读 LockType=adLockReadOnly '如果用户选择“客户信息”则执行下面的代码 If button="客户信息" Then source="select * from 客户" activeConnection="dsn=pubs" rs.open source,activeConnection,CursorType,LockType end if '如果用户选择“产品信息”则执行下面的代码 If button="产品信息" Then source="select * from 产品" ActiveConnection="dsn=pubs