zoukankan      html  css  js  c++  java
  • ASP入门(二十二)-连接数据库

    ADO 简介

    在 ASP 中访问数据库使用的 ADO 组件。

    • ADO 是一项微软的技术。
    • ADO 指 ActiveX 数据对象(ActiveX Data Objects)。
    • ADO 是微软的 Active-X 组件。
    • ADO 会随 IIS 被自动安装
    • ADO 是一个访问数据库中数据的编程接口

    从 ASP 页面访问数据的方法

    1. 创建一个到数据库的 ADO 连接
    2. 打开数据库连接
    3. 创建 ADO 记录集
    4. 从记录集提取您需要的数据
    5. 关闭记录集
    6. 关闭连接

    ADO 数据库连接

    在进行数据访问前,我们首先先要建立和数据库的连接,ADO 通过 OLE DB 可以与许多数据库建立连接,ADO 中的 Connection 对象用于建立和数据库的连接。

    在连接之前,我们需要建立一个数据连接字符串,请详细学习上一篇第二十一讲:
    ASP入门(二十一) - 如何自己获取 ADO 连接字符串

    连接字符串中 Data Source 一定要用 Sever.MapPath 方法来转化为服务器上绝对路径。

    加入了错误捕获代码(StartConnect.asp),连接数据库出现错误时,及时给用户友好的提示并终止页面的继续运行。代码如下:

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    <%
    '如果遇到错误,则不理会继续执行
    On Error Resume Next
    Dim oConn, sConnString, sDBPath
    '数据库路径及文件名
    sDBPath = "1NorthWind.mdb"
    '数据库连接字符串
    sConnString = "Provider=Microsoft.ACE.OLEDB.15.0;Data Source=" & Server.MapPath(sDBPath)
    '建立 Connection 对象的实例 oConn
    Set oConn = Server.CreateObject("ADODB.Connection")
    '调用 oConn 的 Open 方法打开连接
    oConn.Open sConnString
    '检测是否出错
    Dim ErrInfo
    If Err Then
      Err.Clear '清空错误
      ErrInfo = "数据库连接出现错误,请联系管理员!<br>"
      ErrInfo = ErrInfo & "终止页面继续运行"
    End If
    %>

    我们已经建立了数据库连接,但是我们的网站中,会有很多文件都涉及到数据的操作,因此将数据库连接代码单独放置在一个文件(conn.asp)中,并将该文件放置到 根目录下的 include 目录中,数据库文件放置到 database 目录中,然后每个需要操作数据库的页面中,使用 #include file 代码来进行引入,如下代码:

    <!--#include file="../include/conn.asp" -->

    执行 SQL 命令

    Connect 对象提供了 Execute 方法来执行 SQL 语句,代码如下:

    <!--#include file="../include/conn.asp" -->
    <%
    Dim sql, RA
    sql = "DELETE FROM [运货商] WHERE [公司名称]='联邦货运'"
    oConn.Execute sql, RA
    'RA返回的受影响的记录数,如果成功删除则显示 > 0
    oConn.Close
    Set oConn = Nothing
    %>

    我们的 Execute 方法后面多了一个 RA 参数,这个参数可以返回受影响的记录数。通过这个记录数来判断是否正确执行完 DELETE 任务。

    小案例——查询并得到记录集

    这里我们将用到 Recordset 对象,该对象代表从查询返回的记录和那些记录的指针。‘

    我们的例子将显示产品表中的名称、单位数量、单价信息,在 Access 中打开的数据表,所见到的结果如下:

    20150824015

    在 ASP 页面中,我们通过输出 HTML 表格来显示这些信息,代码(ShowProducts.asp)如下:

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>显示 Northwind 表中 产品 表信息</title>
    </head>
    <body>
    <!--#include file="../include/conn.asp"-->
    <%
    Dim oRs, sql
    sql = "SELECT * FROM [产品]"
    Set oRs = Server.CreateObject("ADODB.Recordset")
    oRs.Open sql, oConn
    %>
    <h3>显示 Northwind 表中 产品 表信息</h3>
    <table border="1">
    <tr>
      <th>编号</th>
      <th>产品名称</th>
      <th>单位数量</th>
      <th>单价</th>
    </tr>
    <%
    Dim num
    num = 1
    Do While NOT oRs.EOF '判断是否处于记录集的最末端
    %>
    <tr>
      <td><%=num%></td>
      <td><%=oRs("产品名称")%></td>
      <td><%=oRs("单位数量")%></td>
      <td><%=oRs("单价")%></td>
    </tr>
    <%
      num = num + 1
      oRs.MoveNext '下一条记录
    Loop '结束循环 Do While
    
    '关闭连接、清空对象
    oRs.Close
    Set oRs = Nothing
    oConn.Close
    Set oConn = Nothing
    %>
    </table>
    
    </body>
    </html>

    显示结果如下:

    20150824016

    示例代码下载:

    ADOConn.RAR

  • 相关阅读:
    maven settings.xml 文件
    Ajax配合后端实现Excel的导出
    线性表的链式存储--单链表
    微软最新开源工具PowerToys,让你的win10更加好用!!
    二叉树合集(三):线索二叉树(图文详解)
    二叉树合集(二):霍夫曼树(图文详解)
    二叉树合集(一):二叉树基础(含四种遍历,图文详解)
    二叉树合集(六):高度平衡的二叉搜索树简介(图文解析)
    二叉树合集(五):二叉搜索树(图片详解,含基本操作)
    【LeetCode】108.将有序数组转换为平衡二叉树(中序遍历三种方法,java实现)
  • 原文地址:https://www.cnblogs.com/pchmonster/p/4754669.html
Copyright © 2011-2022 走看看