我也来问个问题

xiang70 2003-05-23 02:15:52
在asp程序中我调用了一个存储过程,该存储过程带有参数.

打印该执行语句出来到sql server的查询分析器中执行,可以分析出我需要的数据
但asp页面执行数据库存放数据的表的数据就是没有,哪位大侠碰到过类似的问题
并且我可以判断到存储过程中因为内嵌套了另外的一个存储过程,页面打印游标和查询分析器打印的游标状态不同.


该语句我在asp中用了两种执行方式,一种conn.execute 方式,另外一种command方式,
但他们的结果是一样
...全文
40 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuqinyi 2003-05-30
  • 打赏
  • 举报
回复
to maconelxp

你的不成功是因为把参数当成了字符串来处理。
应该是常量,可是vbs中没有定义这些,需要自己定义。
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParamOutput = 2
adEmpty=0 'adEmpty 未指定值 (DBTYPE_EMPTY)。
adSmallInt=2 'adSmallInt 2 字节带符号整型 (DBTYPE_I2)。
adInteger=3 'adInteger 4 字节的带符号整型 (DBTYPE_I4)。
adSingle=4 'adSingle 单精度浮点值 (DBTYPE_R4)。
adDouble=5 'adDouble 双精度浮点值 (DBTYPE_R8)。
adCurrency=6 'adCurrency 货币值 (DBTYPE_CY)。货币数字的小数点位置固定、小数点右侧有四位数字。该值保存为 8 字节范围为 10,000 的带符号整型值。
adDate=7 'adDate 日期值 (DBTYPE_DATE)。日期按双精度型数值来保存,数字全部表示从 1899 年 12 月 30 开始的日期数。小数部分是一天当中的片段时间。
adBSTR=8 'adBSTR 以空结尾的字符串 (Unicode) (DBTYPE_BSTR)。
adIDispatch=9 'adIDispatch OLE 对象上 Idispatch 接口的指针 (DBTYPE_IDISPATCH)。
adError=10 'adError 32 - 位错误代码 (DBTYPE_ERROR)。
adBoolean=11 'AdBoolean 布尔型值 (DBTYPE_BOOL)。
adVariant=12 'adVariant 自动变体型 (DBTYPE_VARIANT)。
adIUnknown=13 'adIUnknown OLE 对象上 IUnknown 接口的指针 (DBTYPE_IUNKNOWN)。
adDecimal=14 'adDecimal 具有固定精度和范围的精确数字值 (DBTYPE_DECIMAL)。
adTinyInt=16 'adTinyInt 1 字节带符号整型 (DBTYPE_I1)。
adUnsignedTinyInt=17 'adUnsignedTinyInt 1 字节不带符号整型 (DBTYPE_UI1)。
adUnsignedSmallInt=18 'adUnsignedSmallInt 2 字节不带符号整型 (DBTYPE_UI2)。
adUnsignedInt=19 'adUnsignedInt 4 字节不带符号整型 (DBTYPE_UI4)。
adBigInt=20 'AdBigInt 8 字节带符号的整数 (DBTYPE_I8)。
adUnsignedBigInt=21 'adUnsignedBigInt 8 字节不带符号整型 (DBTYPE_UI8)。
adGUID=72 'adGUID 全局唯一的标识符 (GUID) (DBTYPE_GUID)。
adBinary=128 'AdBinary 二进制值 (DBTYPE_BYTES)。
adChar=129 'adChar 字符串值 (DBTYPE_STR)。
adWChar=130 'adWChar 以空结尾的 Unicode 字符串 (DBTYPE_WSTR)。
adNumeric=131 'adNumeric 具有固定精度和范围的精确数字值 (DBTYPE_NUMERIC)。
adUserDefined=132 'adUserDefined 用户定义的变量 (DBTYPE_UDT)。
adDBDate=133 'adDBDate 日期值 (yyyymmdd) (DBTYPE_DBDATE)。
adDBTime=134 'adDBTime 时间值 (hhmmss) (DBTYPE_DBTIME)。
adDBTimeStamp=135 'adDBTimeStamp 时间戳(yyyymmddhhmmss 加 10 亿分之一的小数)(DBTYPE_DBTIMESTAMP).
adVarChar=200 'adVarChar 字符串值(仅 Parameter 对象)。
adLongVarChar=201 'adLongVarChar 长字符串值(仅用于 Parameter 对象)。
adVarWChar=202 'adVarWChar 以空结尾的 Unicode 字符串(仅 Parameter 对象)。
adLongVarWChar=203 'adLongVarWChar 以空结尾的长字符串值(仅用于 Parameter 对象)。
adVarBinary=204 'adVarBinary 二进制值(仅 Parameter 对象)。
adLongVarBinary=205 'adLongVarBinary 长二进制值(仅用于 Parameter 对象)。
xiang70 2003-05-30
  • 打赏
  • 举报
回复
xiang70 2003-05-23
  • 打赏
  • 举报
回复
xiang70 2003-05-23
  • 打赏
  • 举报
回复
我是用返回的数据库表数据的方式返回数据的,
cmd.parameters.append cmd.createparameter("@title","advarchar","adParamInput")
cmd.parameters.append cmd.createparameter("@a","advarchar","adParamOutput" )
这样调用怎么可以,

'set cm=server.CreateObject ("adodb.command")
'cm.ActiveConnection =conn
'cm.CommandText ="tj_rcj_analyse_rpt_p"
'cm.Parameters.append cm.CreateParameter ("startyear",3,1,,startyear)
'cm.Parameters.append cm.CreateParameter ("startmonth",3,1,,startmonth)
'cm.Parameters.append cm.CreateParameter ("endyear",3,1,,endyear)
'cm.Parameters.append cm.CreateParameter ("endmonth",3,1,,endmonth)
'cm.Parameters.append cm.CreateParameter ("tjtype",2,1,,tjtype)
'cm.Parameters.append cm.CreateParameter ("groupid",2,1,,groupid)
'cm.Execute
maconelxp 2003-05-23
  • 打赏
  • 举报
回复
刚好,兄弟,我的存储过程根本就不知道怎么调用的
一个输入参数,一个输出参数
<%
set cmd=server.CreateObject("adodb.command")
cmd.activeconnection=conn
cmd.commandtext="{call bb(?,?)}"
cmd.parameters.append cmd.createparameter("@title","advarchar","adParamInput")
cmd.parameters.append cmd.createparameter("@a","advarchar","adParamOutput" )
cmd("@title")="ccc"
cmd.commandtype=4
cmd.execute
a=cmd("@a")
response.write a
%>
你帮我看看,肯定你是执行成功了
具体打印的,我上边有一句代码,不知道对你有没有用

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧