找回密码

碧海潮声大学生网

查看: 781|回复: 0
打印 上一主题 下一主题

ASP调用SQL SERVER存储程序

[复制链接]
跳转到指定楼层
1#
发表于 2005-11-27 12:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
调用数据库存储过程
  <%Set Dataconn = Server.CreateObject("ADODB.Connection")
  '建立连接对象
  Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R) Developer     Studio;WSID=APP_SERVER;Regional=Yes"
  Set cmdTemp = Server.CreateObject("ADODB.Command")
  '建立命令对象
  Set rst = Server.CreateObject("ADODB.Recordset")
  '建立记录集对象
  cmdTemp.CommandText = "dbo.pd_test" '存储过程名称
  cmdTemp.CommandType = 4
  '命令类别为4,表示为存储过程
  Set cmdTemp.ActiveConnection = Dataconn
  Set tmpParam = cmdTemp.CreateParameter("Return Value", 3, 4, 4)
  cmdTemp.Parameters.Append tmpParam
  Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi)
  '创建输入参数对象
  cmdTemp.Parameters.Append tmpParam
  rst.Open cmdTemp, , 1, 3
  '生成查询结果
%>
  这里调用的存储过程为pd_test,这种是ADO中提供的标准方法,但存在一个问题,就是当在存储过程中有两个以上的SELECT语句,但从逻辑上又不可能同时执行的时候,ADO会提示你存储过程中SELECT语句太多,解决方法是直接用ADO的CONNECTION对象的EXECUTE方法直接执行存储过程,如下:
<%
  Set Dataconn = Server.CreateObject("ADODB.Connection")
  '建立连接对象
  Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
  ss = "EXECUTE dbo.pd_test " & "'" & riqi1 & "'"
  Set rs = dataconn.Execute(ss)
%>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋| 碧海潮声大学生网  

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.2( 浙ICP备11026473号 )

快速回复 返回顶部 返回列表