hur.cn - 华软网

 热门搜索

用存储过程不能创建数据窗口的问题

  作者:未知    来源:网络    更新时间:2018/2/6
系统:PB8.0,SQL Server 2000
数据库里已经建立了一个存储过程bom_gather_Proc1,参数是@item,用查询分析器运行个方面正常,但在PB里建立数据窗口时不能建立,提示如下:
Requested result set number 1not found
1 execute dbo.bom_gather_Proc1;1 @item=:item
------华软网友回答------
这是为什么?应如何建立
------华软网友回复------
要建立数据窗口的存储过程最后需要有一句select语句,不然怎么知道数据从哪里来
------华软网友回复------
是啊,我有select语句,不然怎么能在查询分析器里运行正常呢
------华软网友回复------
最后的select语句中,列的数目必须是固定的,动态的数目则没法建立。最好把一部分代码贴上来大家看看
------华软网友回复------
用直连方式连接数据库,不要用ODBC试试
------华软网友回复------
我不是用ODBC连接的,就是用直接方式联的,我觉得ahliang80说得有一定道理,但说不清楚下面是我的一部分代码
一、声明变量和临时表
CREATE PROC bom_gather_PROC @item varchar(20)  AS

declare @father_layer smallint,@child_layer smallint,@bom_id varchar(20),@bom_name varchar(20),@mate_id varchar(20),@wp_id varchar(10),
            @mate_id1 varchar(20),@unit_id varchar(10),@scrap numeric(18,6),@varifix char(1),@backrush char(1),@backlocation varchar(10),@effi_date datetime,@obs_date datetime, @consum1 numeric(18,6)
declare @consum numeric(18,6),@mate_name varchar(30),@consum2 numeric(18,6),@consum3 numeric(18,6),@mate_name1 varchar(30)
create table #base_bom2 (
           father_layer int,
           child_layer int,
           bom_id varchar(20) null,bom_name varchar(20) null,mate_id varchar(20) null,wp_id varchar(10) null,mate_id1 varchar(20) null,
           unit_id varchar(10) null,consum numeric(18,6) null,scrap numeric(18,6) null,varifix char(1) null,backrush char(1) null,
           backlocation varchar(10) null,effi_date datetime null,
           obs_date datetime null)
create table #bom_gather (父层码 int null,子层码 int null,父项物料 varchar(20) null,
          子项物料 varchar(30) null,计量单位 varchar(10) null,定额数量 numeric(18,9)  null,废品率 numeric(18,6) null,变动固定 char(1) null)

二、进行取得数据的操作。。。。。。保存在#bom_gather表中
三、取得数据
select *  from #bom_gather
GO

------华软网友回复------
这个问题我经常碰到,问题大多出在没有在任何一个程序出口(return阿之类的之前)写上一样的返回结果集。照我说的做,在任何一个非正常的出口前写上select ...... where 1 = 2
------华软网友回复------
请楼上说明白些,我还是不太明白你的意思,谢谢      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。