怎样在delphi前台返回在oracle写的函数值啊?求救大侠们,急!!!!! (100分)

  • 主题发起人 主题发起人 winmax
  • 开始时间 开始时间
W

winmax

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
现在我在oracle里面写了这样一个函数:
create or replace function re_insert_table(varname in varchar2,varsex in char)
return boolean is
xtempid zqb1.id%type;
xname varchar2(12);
xsex char(2);
cursor cur_id is select max(id) from zqb1;
begin
xname:=varname;
xsex:=varsex;
open cur_id;
if cur_id%found then
fetch cur_id into xtempid;
xtempid:=xtempid+1;
else
xtempid:=0;
end if;
close cur_id;
insert into zqb1 values(xtempid,xname,xsex);
return(true);
exception
when others then
return(false);
end re_insert_table;
以上的程序实现的功能是:创建了一个返回BOOLEAN型的函数,当成功插入一条记录后,函数会返回TRUE值,否则就返回FALSE值!
现在的问题是:
我怎样在delphi里面实现:1,调用函数;2,函数返回值,如果返回TRUE则在程序里显示"插入成功",如果函数返回FALSE值,则显示"插入失败"呢??

还有,就是公司要求要用ADO来做的,我试过用ADOStoreProc这个控件来做,但设置了connection和procedurename后再进去parameters这个窗口单击"ADD"这个按钮后,DELPHI就无端端地消失了!试了好几次都是这样子,所以在用ADO控件的时候最好不要用这个控件来解答了(针对我上面提的问题).............
很急啊~~~希望各位熟悉oracle跟delphi的大侠帮帮忙吧!!!!!!!!!
已经没有什么分了!在这里只有100分,希望各位不要谦弃!!先谢了!!
 
用TStoredProc试试
 
各位大侠我也有同样问题,只是我这时候返回的是一个游标.但是我必须用ado的控件该怎么办呀.各位大侠帮帮我!
 
为什么没有人响应的呢/????
高手去哪啦,大侠去哪啦?????????????????????????
 
用ODAC没有问题,用ADO连接Oracle数据库还不与用 BDE,我测试过速度慢多了
 
to hds6400:
但用BDE又应该怎样写呢?可以提供一些代码给我吗?我已经测试过了,不知搞什么鬼,DELPHI可以返回varchar,但当要返回boolean型数据时,就有问题了,不知道是不是我的设置有问题,我现在要实现的是正如我上面所说的那样,在oracle里的函数是返回boolean型的,但在delphi前台我应该怎样调用这个函数返回的结果呢???设置跟代码到底要怎样写才正确呢???
你可以帮到我吗??谢谢!!
 
我用ado没有问题啊,设置了connection和procedurename后parameters自动就加上了。 ado的驱动用oracle的,别用微软的
 
用TStoreProc控件
你返回0,1就行了。为什么一定要布尔型呢
 
to 迷糊 兄:
我也试过,我试的是返回varchar型数据的时候就没有问题,设置了procedureName和connection后,再单击parameters后,参数都会自动的显示出来,但当返回的是boolean时就不行了,你试过了吗??
怎样才能在返回boolean型数据的时候都能够呢?你试过了吗???期待你的答复~~~~
 
oracle的boolean用起来是比较别扭,我以前遇见过,权改用0,1应付了,听听别人怎么说
 
真的没有人知道oracle的boolean型怎样用吗?
我的问题已经解决了,把返回的类型由boolean改为char或varchar2就行了,也就是'0'和'1'.....
但我还是想知道原来的boolean型是怎样返回的,欢迎有兴趣的朋友继续讨论这个问题.........
 
后退
顶部