| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1112 人关注过本帖
标题:我做了一个存储过程,后台有值 前台却没有??????????
只看楼主 加入收藏
gonggou123
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-1-27
收藏
 问题点数:0 回复次数:4 
我做了一个存储过程,后台有值 前台却没有??????????
DECLARE watercode PROCEDURE FOR sp_watercode
@flag = GCB,
@key = projectid,
@table = tbl_gcinfdetail ;
execute watercode;
fetch watercode into :ls_proid;
close watercode;

这个ls_proid没有值。。。这是什么原因?
有什么方法可以解决这样的问题?
后台绝对没错,前台至少语法没错 还有 数据库连接正确 有高人指教吗?
我真的无奈了

[此贴子已经被作者于2007-6-2 13:59:45编辑过]

搜索更多相关主题的帖子: 后台 前台 
2007-06-02 11:27
fyh
Rank: 1
等 级:新手上路
威 望:1
帖 子:52
专家分:0
注 册:2006-4-5
收藏
得分:0 
DECLARE watercode PROCEDURE FOR sp_watercode
@flag = :GCB,
@key = :projectid,
@table = :tbl_gcinfdetail ; 参数前`加‘:’
execute watercode;

2007-06-02 20:57
gonggou123
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-1-27
收藏
得分:0 
我加了 却说不认识那个GCB

曾经沧海难为水,除却巫山不是云。 取次花丛懒回顾,半缘修道半缘君。
2007-06-04 09:13
路過
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:160
专家分:111
注 册:2006-12-15
收藏
得分:0 

例:orcal數據庫 pb 開發工具:(有輸入,輸出參數)
orcal 中:
create or replace procedure sp_watercode
(gcb in varchar2,--輸入參數
projectid in varchar,--輸入參數
tbl_gcinfdetail in varchar2,--輸入參數
proid out string) --輸出參數
is
--定義
 ERRNO INTEGER;
ERRMSG VARCHAR2(500);
ls_proid_temp string;

CURSOR C1 IS
SELECT proid
FROM water.water
WHERE water.gcb= :gcb and
water.projectid = : projectid and
water.tail = :tbl_gcinfdetail ;

begin
OPEN C1;
FETCH C1 INTO ls_proid_temp ;
IF C1%NOTFOUND THEN
ERRNO := -20002;
ERRMSG := '沒有數據';
RAISE_APPLICATION_ERROR(ERRNO,ERRMSG);
end if
end sp_watercode ;



pb 中的代碼:
string ls_gcb,ls_pro,ls_gcinfdetail,ls_proid
ls_gcb = dw_n.getitemstring(getrow(),'gcb')
ls_pro = dw_n.getitemstring(getrow(),'projectid')
ls_gcinfdetail = dw_n.getitemstring(getrow(),'tail')

DECLARE proc_ins_pnl PROCEDURE FOR sp_watercode
(:ls_gcb ,:ls_pro,:ls_pnl_nm,:ls_gcinfdetail); --輸入參數 
EXECUTE proc_ins_pnl;

IF SQLCA.SQLCODE = 0 THEN
FETCH proc_ins_pnl INTO :ls_proid ;---輸出(得到數據)
END IF
choose case sqlca.sqlcode
case 100,0--處理數據,
dw_1.setitem(dw_1.getrow(),"proid",trim(ls_proid ))

case -1 錯誤提示
long ll_pos,ll_pos1
ll_pos = pos(SQLCA.SQLERRTEXT,"ORA-06512")
ll_pos1 = pos(SQLCA.SQLERRTEXT,"ORA-20002")
Messagebox("輸入資料錯誤~",MID(SQLCA.SQLERRTEXT,ll_pos1 + 10 ,ll_pos - ll_pos1 - 10),stopsign!)
return
end choose
close proc_ins_pnl;



2007-06-04 10:50
gonggou123
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-1-27
收藏
得分:0 
谢谢斑竹,但是我的还是不对。。。我不知道为什么
我用的是SQL数据库

语法检查也没错
就是没有结果出来

曾经沧海难为水,除却巫山不是云。 取次花丛懒回顾,半缘修道半缘君。
2007-06-05 15:39
快速回复:我做了一个存储过程,后台有值 前台却没有??????????
数据加载中...
 
   



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

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