深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

在Asp中使用存储过程


March 25,2004
    为了提高Asp程序的效率,有时需要在Asp中使用使用Sql Server的存储技术,下面简单作一个介绍。存储过程的建立
    这里只简单介绍如何在Sql Server的企业管理器中如何建立存储过程:    (1)打开企业管理器Enterprise manager
    (2)选择服务器组(SQL Server Group)、服务器、数据库(Database)以及相就的数据库,鼠标
右击对应数据库下的Stored Procdures项,在弹出的菜单中选择New Stored Procedure,在Stored
Procedures Properties中输入建立存储过程的语句。下面是一个例子:
  CREATE PROCEDURE proctest @mycola Char(10),@mycolb Char(10),@mycolc text  AS
  Insert into chatdata (mycola,mycolb,mycolc) values(@mycola,@mycolb,@mycolc)
    在Sql Server的文档中它的语法为:  CREATE PROC[EDURE] procedure_name [;number]      [
          {@parameter data_type} [VARYING] [= default] [OUTPUT]      ]
      [,...n]  [WITH       {          RECOMPILE           | ENCRYPTION
          | RECOMPILE, ENCRYPTION      }  ]  [FOR REPLICATION]  AS
      sql_statement [...n]            如果你对Sql语法不熟悉,可以使用Check Syntax来检查语法。
    在上例中,表示建立存储过程名为mycola,带3个参数的存储过过程,其中第一个参数mycola
数据类型为char,宽度10;第2个参数数据类型为char,宽度为10,第3个参数数据类型为text,在这里使用的是Sql Server的数据类型。
    存储过程建立后,下面就是如何在Asp程序中调用该存储过程:在Asp中调用存储过程    <%
   Set con = Server.CreateObject("ADODB.Connection")
   con.open "DRIVER=SQL Server; SERVER=webdata; DATABASE=mydatabasename; UID=sa; PWD="
   set cm = Server.CreateObject("ADODB.Command")   Set cm.ActiveConnection = con
   cm.CommandText = "proctest"  '与Sql Server中建立的存储过程名称对应
   cm.CommandType = 4           'CommandType表示存储过程   set p = cm.Parameters
   p.Append cm.CreateParameter("@mycola",202,1,10)  '下面为Command增加3个参数
   p.Append cm.CreateParameter("@mycolb",130,1,10)
   p.Append cm.CreateParameter("@mycolc",201,1,250)   cm("@mycola")="2000-06-31"
   cm("@mycolb")="14:13:25"   cm("@mycolc")="存储过程技术测试一"   cm.execute
   cm("@mycola")="2000-06-31"   cm("@mycolb")="14:15:25"
   cm("@mycolc")="存储过程技术测试二"   cm.execute   cm("@mycola")="2000-06-31"
   cm("@mycolb")="14:16:25"   cm("@mycolc")="存储过程技术测试三"   cm.execute   con.close
   set con=nothing%>    为了提高Asp程序的效率,有时需要在Asp中使用使用Sql Server的存储技术,下面简单作一个
    在上面的增加参数的语句p.Append cm.CreateParameter("@mycolc",201,1,250)中,格式为:
    p.Append cm.CreateParameter("参数名称",类型,方向,大小)     参许参数值的类型的意义如下:
    名称值             整数值           功能
  adDBTimeStamp      135              日期时间数据类型
  adDecimal          14               十进制整数值
  adDouble           5                双精度小数值
  adError            10               系统错误信息
    AdGUID             72               全域性唯一识别字(Globally unique identifier)
    adDispath          9                COM/OLE自动对象(Automation Object)
    adInteger          3                4字节有符号整数
    adIUnknown         13               COM/OLE对象
    adLongVarBinary    205              大型2字节值
    adLongVarChar      201              大型字符串值
    adLongVarWChar     203              大型未编码字符串
    adNumeric          131              十进制整数值
    adSingle           4                单精度浮点小数
    adSmallInt         2                2字节有符号整数
    adTinyInt          16               1字节有符号整数
    adUnsignedBigInt   21               8字节无符号整数
    adUnsignedInt      19               4字节无符号整数
    adUnsignedSmallInt 18               2字节无符号整数
    adUnsignedTinyInt  17               1字节无符号整数
    adUserDefined      132              用户自定义数据类型
    adVariant          12               OLE对象
    adVarBinary        204              双字节字符变量值
    adVarChar          200              字符变量值
    advarchar          202              未编码字符串变量值
    adWchar            130              未编码字符串                        方向值的意义如上:
    名称值             整数值           功能
    adParamInput       1                允许数据输入至该参数当中
    adParamOutput      2                允许数据输出至该参数当中
    adParamInputOutput 3                允许数据输入、输出至该参数当中
    adparamReturnValue 4                允许从一子程序中返回数据至该参数当中   
    更多详细资源请参考Sql Server的文档和IIS的文档资源。
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved