起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 584|回复: 22

【结帖】如何正确使用"存储过程数据集"

[复制链接]
发表于 2008-4-9 13:41:04 | 显示全部楼层 |阅读模式
具体须要设置什么?
回复

使用道具 举报

发表于 2008-4-9 13:47:52 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2008-4-9 13:48:28 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-9 14:05:00 | 显示全部楼层


我只想执行一下我的"存过"就可以拉.
datasetCCGCSJJ1.Execute;报错,没有执行,我的"存过"没有问题的
回复 支持 反对

使用道具 举报

发表于 2008-4-9 14:11:56 | 显示全部楼层
基本步骤:设置 存储过程数据集控件的属性。
          1、数据库
          2、存储过程名称
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-9 14:13:19 | 显示全部楼层
最初由 ktworld 发布
[B]我只想执行一下我的"存过"就可以拉.
datasetC..

以下省略...... [/B]

未命名.jpg

13.25 KB, 下载次数: 230

回复 支持 反对

使用道具 举报

发表于 2008-4-9 14:16:11 | 显示全部楼层
这样的原因很多,比如存储过程写的不符合要求等等。看看3楼链接对存储过程返回数据集的内容。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-9 14:18:16 | 显示全部楼层
最初由 lixy 发布
[B]基本步骤:设置 存储过程数据集控件的属性。
          1、数据库
          2、存储过程名称 [/B]

未命名.jpg

13.43 KB, 下载次数: 232

回复 支持 反对

使用道具 举报

发表于 2008-4-9 14:19:51 | 显示全部楼层
把你的存储过程贴上来看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-9 14:27:12 | 显示全部楼层
create or replace procedure p_pds is
   v_pds_name DCS_PDS_MATCH_BASE.PDS_NAME %type; /*游标into值*/
   counter number(2); /*牌号种类数*/
   start_counter number(2) := 1;
   pds_counter number(2);  /*每种牌号一共有多少条数据*/
   cursor pds is select distinct(t.pds_name) from DCS_PDS_MATCH_BASE t;
begin
    open pds;
  select count(distinct(d.pds_name)) into counter from DCS_PDS_MATCH_BASE d; /*不同的牌号种类数有多少*/
  for start_counter in 1..counter loop
    fetch pds into v_pds_name;
    select count(p.pds_name) into pds_counter from DCS_PDS_MATCH_BASE p where p.pds_name = v_pds_name
          and p.end_date = to_date('2099-12-30','yyyy-mm-dd');/*每种牌号一共有多少条数据*/
     if pds_counter >=2 then
       update DCS_PDS_MATCH_BASE set DCS_PDS_MATCH_BASE.end_date = (select p.start_date from DCS_PDS_MATCH_BASE p
                               where p.f_id=(select max(p.f_id) from DCS_PDS_MATCH_BASE p))
                                          where DCS_PDS_MATCH_BASE.f_id = ( select min(p.f_id) from DCS_PDS_MATCH_BASE p
                                                         where p.pds_name = (select p.pds_name from DCS_PDS_MATCH_BASE p
                                                                where p.f_id= (select max(p.f_id) from DCS_PDS_MATCH_BASE p))
                                and to_char(p.end_date,'yyyy-mm-dd')='2099-12-30');
                                COMMIT;
     end if;

  end loop;
    close pds;
end p_pds;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 22:39 , Processed in 0.051397 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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