老大让维护个很老很老的系统,是用asp开发的,第一次接触asp,用dw打开项目,有点头蒙。非常恼火微软,什么时候他们才能一统山河啊。感觉别的编辑器太别扭了。恼火归恼火,活还是要干的。新建了一个页面,比葫芦画瓢,写了些代码。代码的核心是调用一个存储过程。asp中怎么通过ado来调用存储过程呢,baidu一把吧。还算顺利,写了下面的方法:

     <%

dim connstr

connstr = "Provider=sqloledb;Data Source=127.0.0.1,1433;Network Library=DBMSSOCN;Initial Catalog=ManageData;User ID=sduser11;Password=sduser11; max pool size=2000"
set conn = server.CreateObject("ADODB.Connection")
conn.open connstr


function CloseDatabase
 Conn.close
 Set conn = Nothing
End Function


function TokenReplace(pt,iCardNoOld,iCardNoNew,CurTime)
 Dim CmdSP
 Dim adCmdSPStoredProc
 Dim adParaminput
 Dim adParamOutput
 Dim adInteger
 Dim adVarChar
 Dim rVal
 Dim oVal
 
 adCmdSPStoredProc = 4
 adParaminput = 1
 adParamOutput = 2
 adInteger = 3
 adVarChar=200
 oVal = 3
 
 set CmdSP = Server.CreateObject("ADODB.Command")
 CmdSP.ActiveConnection=conn
 CmdSP.CommandText ="SP_TokenChange"
 CmdSP.CommandType = adCmdSPStoredProc
 
 CmdSP.Parameters.Append CmdSP.CreateParameter("@pt", adVarChar, adParaminput,50,

pt )
 CmdSP.Parameters.Append CmdSP.CreateParameter("@iCardNoOld", adInteger,

 adParamInput,4, iCardNoOld)
 CmdSP.Parameters.Append CmdSP.CreateParameter("@iCardNoNew", adInteger,

adParamInput, 4,  iCardNoNew)
 CmdSP.Parameters.Append CmdSP.CreateParameter("@CurTime", adInteger,

adParamInput,4 ,  CurTime)
 CmdSP.Parameters.Append CmdSP.CreateParameter("@output",

 adInteger, adParamOutput, oVal)
 
 CmdSP.Execute
 rVal=CmdSP.Parameters("@output").Value
 
 Set CmdSP.ActiveConnection = nothing
 Set CmdSP = nothing
 CloseDatabase()  
 TokenReplace = rVal
end function
%>

 

      感觉非常别扭,不过程序跑起来了。CreateParameter五个 参数的含义:

      a:参数名称          -------对应存储过程中,参数的名称

      b:参数值类型      --------integate 3 varchar 200

      c:参数类型         ---------输入参数1  输出参数 2

      d:参数值类型的长度      ------------int 为 4  如果是ParamOutput,则不需要该参数

      e:参数值                ---------传给存储过程的值。如果参数类型是ParamOutput,则用来保存存储过程输出参数的值

 

 

呵呵。纪念一下,我的第一个asp程序

posted on 2009-01-14 09:07  jingtu  阅读(384)  评论(1编辑  收藏  举报