ASP程序与SQL存储过程结合使用详解(2)


      2    表明COMMANDTEXT参数是一个具有的表名称
      4    表明COMMANDTEXT参数是一个存储进程的名称

    还可以通过CONNECTION对象或RECORDSET对象调用存储进程,方法分别如下:

    '**通过CONNECTION对象调用存储进程**
    DIM MYCONN,MYRST
    SET MYCONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
    MYCONN.OPEN MYCONSTR                            'MYCONSTR是数据库连接字串
    SET MYRST  = MYCONN.EXECUTE("GETUSERLIST",0,4) '最后一个参断含义同COMMANDTYPE
    SET MYCONN = NOTHING

    '**通过RECORDSET对象调用存储进程**
    DIM MYRST
    SET MYRST = SERVER.CREATEOBJECT("ADODB.RECORDSET")
    MYRST.OPEN "GETUSERLIST",MYCONSTR,0,1,4
    'MYCONSTR是数据库连接字串,最后一个参断含义与COMMANDTYPE相同

    
    2. 没有输入输出的存储进程
    请看以下存储进程:

    /*SP2*/
    CREATE PROCEDURE DBO.DELUSERALL
    AS
    SET NOCOUNT ON
    BEGIN
       DELETE FROM DBO.[USERINFO]
    END
    GO

    该存储进程删去USERINFO表中的所有记录,没有任何输入及输出,调用方法与上面讲过的基本相同,只是不用取得记录集:

   '**通过COMMAND对象调用存储进程**
    DIM MYCOMM
    SET MYCOMM = SERVER.CREATEOBJECT("ADODB.COMMAND")
    MYCOMM.ACTIVECONNECTION = MYCONSTR          'MYCONSTR是数据库连接字串
    MYCOMM.COMMANDTEXT      = "DELUSERALL"      '指定存储进程名
    MYCOMM.COMMANDTYPE      = 4                 '表明这是一个存储进程
    MYCOMM.PREPARED         = TRUE              '要求将SQL命令先行编译
    MYCOMM.EXECUTE                              '此处不必再取得记录集

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2213.html