• 简述在Access中使用“存储过程”


     

      很多人问起在Access数据库中怎样使用存储过程,其实Access中没有存储过程,我们说的Access中的“存储过程”是指在Access中通过内置的查询表来操作数据,从而大大优化ASP查询的执行速度,下面就简要介绍如何在Access中使用“存储过程”。

    例一:首先我们在Access中做一个非常简单的delete查询。

    现假设有一个Table1表,我们要删除id<100的所有记录,首先打开Access,在Access左边点击“查询”,

    然后选择,“在设计视图中创建查询”,弹出“查询一:选择查询”对话框,关掉“显示表”,在“查询一:选择查询”的标题上点右键,选择“SQL 视图”

    在SQL视图中输入sql语句,DELETE FROM Table1 WHERE id<100,

    输入完成后点击右边的小叉关闭,会提示保存,将它取名为myDelSQL,然后保存,这时候,Access的查询中就多了一个删除查询的表,

    好了,我们在Access中就己经建立了删除查询,现在切换到ASP代码中来了:
    在ASP中要操作使用“存储过程”,我们这里就不能用平常的rs.Open sql,1,3来操作了,这时我们要使用ADO中的Commamd命令来操作,其实很简单,就跟我们建立Recordset对象一样,代码如下:

    '这儿写打开数据库的conn链接对象,己省略,请跟据自己的实际需要建立conn连接。
    dim cmd ' 创建一个变量
    set cmd=Server.CreateObject("Adodb.Command") '在服务器上创建Command对象。


    cmd.ActiveConnection=conn     ' 将cmd对象绑定到conn连接对象,只有这样才知道是对什么数据库进行操作。
    cmd.CommandType=4                ' 设置Command执行命令的格式,4为存储过程,1为普通字符串,可以省略
    cmd.CommandText="myDelSQL"   '注意,上面设置的CommandType的值为4,所以这儿直接写上存储过程名就行了,即Access中的查询myDelSQL,如果上面的CommandType设置的为1 ,则这里必须是“select .....”的SQL语句形式。如果上面的CommandType省略,则这里需要写成 "EXECUTE myDelSQL",以说明是执行一个存储过程
    cmd.Execute()     '这一行执行Command命令。
    set cmd=nothing   '从内存中删除cmd对象

      好了,就这么简单,我们现在就己经可以把这个文件存成asp,然后执行这个asp即可,我们再来打开数据库,发现id>100的记录己被删除!

    例二:不带参数的SQL查询都可以用以上方法来操作,下面我们来说一下带参数的查询

    现在我们假设要把数据库中的id=50的这条记录删除掉(这个id=50是由asp中带进去的),首先我们仍然需要用上面的方法来在Access中建立查询,只不过我们不能像这样写SQL语句:
    DELETE FROM Table1 WHERE id=50
    因为我们说过,这个50是由asp带进去的,也就是说它是一个变的量,那么我们改用以下方式来写SQL吧:
    DELETE FROM Table1 WHERE id=XXX
    (有人会问了,这里的XXX是个什么?数据库中并没有XXX这个字段,Access会把它看作是一个参数。


    保存此查询,并给这个查询取名为 myDelSQL2 我们发现虽然XXX并不存在,但它仍然能够保存,你可以现在双击这个 myDelSQL2查询试试,它会提示输入一个参数,如果你输入的是一个有效的ID,那么它就会删除那条记录。

    好了,言规正传,现在我们该回到ASP中了。同样用上面的方法,只不过下面多了两条语句,请看:

    '这里是打开conn链接对象的代码
    dim cmd2

    set cmd2=Server.CreateObject("Adodb.Command")
    cmd2.ActiveConnection=conn
    cmd2.CommandType=4
    set prm = Server.CreateObject("ADODB.Parameter")
    prm.Name = "id"   
    '指明参数对应的名称
    prm.Value = 50    
    '要删除的记录ID
    cmd.Parameters.Append prm
    '将参数添加给cmd对象
    cmd2.CommandText="myDelSQL2"
    cmd2.Execute()
    set cmd2=nothing

  • 相关阅读:
    Malware Sample Sources for Researchers
    How to Allow MySQL Client to Connect to Remote MySQL server
    指標和函數
    ”十六“进制查看器
    解決svchost.exe 100%的問題 (真的中毒了)
    C#中Class与Struct区别
    js获取asp.net服务器端控件Label,TextBox,RadioButtonList,DropDownList的值
    大象之UML (一) 准备
    大象之UMl(二)UML核心元素
    配置.NET运行环境
  • 原文地址:https://www.cnblogs.com/niceworld/p/1520029.html
Copyright © 2020-2023  润新知