zoukankan      html  css  js  c++  java
  • Asp & Porcedure

    <%
     set conn=server.CreateObject("adodb.connection")
     set cmd=server.CreateObject("adodb.command")
     strconn="dsn=pubs;uid=sa;pwd"
     conn.Open strconn
     set cmd.ActiveConnection=conn
     
     cmd.CommandText="{call nono}"
     
     'set rs=cmc.exe 或者cmd.execute
     
     set rs=cmd.Execute()
     
     %>

    2、一个输入的参数的存储过程

    <%
     set conn=server.CreateObject("adodb.connection")
     set cmd=server.CreateObject("adodb.command")
     strconn="dsn=pubs;uid=sa;pwd"
     
     conn.Open strconn
     set cmd.ActiveConnection=conn
     
     cmd.CommandText="{call oneinput(?)}"
     cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger ,adParamInput )
     cmd("@aaa")=100
     
     cmd.Execute()
     
     %>

    3、一个输入参数和一个输出的参数

    <%
     set conn=server.CreateObject("adodb.connection")
     set cmd=server.CreateObject("adodb.command")
     strconn="dsn=pubs;uid=sa;pwd"
     
     conn.Open strconn
     set cmd.ActiveConnection=conn
     
     cmd.CommandText = "{call oneinout(?,?)}"
     cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
     cmd("@aaa")=10
     cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)
     
     cmd.Execute()
     
     bbb=cmd("@bbb")
     %>

    4、一个输入参数,一个输出参数,和一个返回值

    <%
     set conn=server.CreateObject("adodb.connection")
     set cmd=server.CreateObject("adodb.command")
     strconn="dsn=pubs;uid=sa;pwd"
     
     conn.Open strconn
     set cmd.ActiveConnection=conn
     
     cmd.CommandText="{?=call onereturn(?,?)}"
     
     cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnValue )
     cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput )
     cmd("@aaa")=10
     cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)
     
     cmd.Execute()
     
     bbb=cmd("@bbb")
     rrr=cmd("@return_value")
     %>?

    如何在ASP中调用SQL存储过程

    <%set connection1 = Server.CreateObject("ADODB.Connection")
     connection1.open ... '联接
     set command1=Server.CreateObject("ADODB.command")
     set command1.activeconnection=connection1
     command1.commandtype=4
     command1.commandtext="sp_1" 'SP 名
     command1.parameters(1)=... '参数值
     command1.parameters(2)=...
     set recordset1=command1.execute()
     %>?

    ASP调用存储过程的技巧

    1、最简单的如下

     Dim objConn
     Set objConn = Server.CreateObject("ADOBD.Connection")
     objConn.Open Application("Connection_String")
     'Call the stored procedure to increment a counter on the page
     objConn.Execute "exec sp_AddHit"

     没有参数,没有返回,没有错误处理,就是这个了

     2、带参数的一种调用

     objConn.Execute "exec sp_AddHit 'http://www.aspalliance.com', 1"

     请注意分割参数,该方法也不返回记录
     
     3、返回记录的

     Dim objConn
     Dim objRs
     Set objConn = Server.CreateObject("ADOBD.Connection")
     Set objRs = Server.CreateObject("ADOBD.Recordset")
     objConn.Open Application("Connection_String")
     'Call the stored procedure to increment a counter on the page
     objRs.Open objConn, "exec sp_ListArticles '1/15/2001'"
     'Loop through recordset and display each article

     4、……

     Dim objConn
     Dim objCmd
     
     'Instantiate objects
     Set objConn = Server.CreateObject("ADODB.Connection")
     set objCmd = Server.CreateObject("ADODB.Command")
     conn.Open Application("ConnectionString")
     
     With objCmd
     .ActiveConnection = conn 'You can also just specify a connection string here
     .CommandText = "sp_InsertArticle"
     .CommandType = adCmdStoredProc 'Requires the adoVBs.inc file or typelib meta tag
     
     'Add Input Parameters
     .Parameters.Append .CreateParameter("@columnist_id", adDouble, adParamInput, , columnist_id)
     .Parameters.Append .CreateParameter("@url", adVarChar, adParamInput, 255, url)
     .Parameters.Append .CreateParameter("@title", adVarChar, adParamInput, 99, url)
     .Parameters.Append .CreateParameter("@description", adLongVarChar, _
     adParamInput, 2147483647, description)
     
     'Add Output Parameters
     .Parameters.Append .CreateParameter("@link_id", adInteger, adParamOutput, , 0)
     
     'Execute the function
     'If not returning a recordset, use the adExecuteNoRecords parameter option
     .Execute, , adExecuteNoRecords
     link_id = .Parameters("@link_id")
     End With

     5、存储过程的代码

     Create PROCEDURE dbo.sp_InsertArticle
     (
     @columnist_id int,
     @url varchar(255),
     @title varchar(99),
     @description text
     @link_id int OUTPUT
     )
     AS
     BEGIN
     INSERT INTO dbo.t_link (columnist_id,url,title,description)
     VALUES (@columnist_id,@url,@title,@description)
     
     SELECT @link_id = @@IDENTITY
     END

  • 相关阅读:
    《网络对抗》 后门原理与实践
    《网络对抗》 逆向及Bof进阶实践
    20145211黄志远《网络对抗》Exp9 Web安全基础实践
    20145211 《网络对抗》Exp8 Web基础
    20145211黄志远 《网络对抗》Exp7 网络欺诈技术防范
    20145211MSF基础应用实验
    20145211黄志远 《网络对抗技术》 恶意代码分析
    20145211黄志远 《网络对抗技术》 免杀原理与实践
    20145211黄志远 《网络对抗技术》 后门原理与实践
    20145211《网络对抗》注入Shellcode并执行&&Return-to-libc攻击
  • 原文地址:https://www.cnblogs.com/5tao/p/578400.html
Copyright © 2011-2022 走看看