| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:有关asp调用存储过程问题
取消只看楼主 加入收藏
onlybaby314
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-14
结帖率:0
收藏
已结贴  问题点数:5 回复次数:5 
有关asp调用存储过程问题
以下是asp里面调用的
Set MyComm = Server.CreateObject(")
with MyComm
.ActiveConnection = connGift
.CommandText = "sp_EXT_VIP_GetGift"
.CommandType = 4
.Prepared = true
.Parameters.Append .CreateParameter("@RUN_TYPE",3,1,,1)
.Parameters.Append .CreateParameter("@GIFT_IDs",200,1,1023,"2,1")
.Parameters.Append .CreateParameter("@ROW_COUNT",3,2)
.Parameters.Append .CreateParameter("@IS_SUCCESS",3,2)
.Parameters.Append .CreateParameter("@Message",200,2,80)
Set MyRst = .Execute
end with
response.write(MyComm(3))
这里为何老是没法输出值,也不抱任何错误。注:存储过程肯定是没问题的。因为在.net里面执行过,完全正常的。


直接在查询器里执行的:
declare @RUN_TYPE int--运行的类型(为0时表示获取数据总数,其他表示获取数据)
declare @GIFT_IDs varchar(1023)--商品ID 多个商品,用逗号分开
declare @ROW_COUNT int--记录总数量
declare @IS_SUCCESS int--是否成功, 0为失败,1为成功
declare @Message varchar(80)--返回消息

set @RUN_TYPE = 1
set @GIFT_IDs = '1,4,30,23'
exec sp_EXT_VIP_GetGift @RUN_TYPE,@GIFT_IDs,@ROW_COUNT out,@IS_SUCCESS out, @Message out
print (@ROW_COUNT)
搜索更多相关主题的帖子: asp 
2010-07-14 20:18
onlybaby314
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-14
收藏
得分:0 
没人回答我么
2010-07-14 21:24
onlybaby314
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-14
收藏
得分:0 
正确的应该会有0或者1输出的。就是IS_SUCCESS这个变量。
2010-07-15 09:12
onlybaby314
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-14
收藏
得分:0 
我要疯了,哪位高人解答下啊。。。
2010-07-15 11:26
onlybaby314
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-14
收藏
得分:0 
以下是引用cnfarer在2010-7-15 11:51:57的发言:

加个判断试试:
if MyRst.state = 0 then '未取到数据
进入到'未取到数据'的判断里面了。
2010-07-15 12:35
onlybaby314
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-14
收藏
得分:0 
以下是存储过程源代码:

USE [ALPHABET_TEST]
GO
/****** 对象:  StoredProcedure [dbo].[sp_EXT_VIP_GetGift]    脚本日期: 07/14/2010 13:31:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[sp_EXT_VIP_GetGift]

@RUN_TYPE int,--运行的类型(为0时表示获取数据总数,其他表示获取数据)
@GIFT_IDs varchar(1023),--商品ID 多个商品,用逗号分开
@ROW_COUNT int out,--记录总数量
@IS_SUCCESS int out,--是否成功, 0为失败,1为成功
@Message varchar(80) out--返回消息


AS
BEGIN

    declare @num int
    if @RUN_TYPE = 0
        begin
            select @ROW_COUNT=count(*) from gift where publ_date <= getdate() and [status] = 'A'
        return
        end
     else
        begin
 
            declare @ids table(AUTO_ID int  primary key IDENTITY(1,1), GIFT_ID numeric(6, 0))

            begin try
                insert into @ids select * from dbo.f_splitstr(@GIFT_IDs,',')
            end try
            begin catch
                set @IS_SUCCESS = 0
                set @Message = '参数数据类型错误!'
            return
            end catch

            select [@ids].GIFT_ID,GIFT.GIFT_NUM,GIFT.GIFT_NAME,GIFT.PNT_NEEDED,GIFT.PUBL_DATE from @ids left outer join GIFT on [@ids].GIFT_ID = GIFT.GIFT_ID and GIFT.PUBL_DATE <= getdate() and GIFT.[STATUS] = 'A'

            set @IS_SUCCESS = 1
            set @Message = '数据获取成功!'
        return
        end

END
2010-07-15 12:36
快速回复:有关asp调用存储过程问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025717 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved