急求一个oracle的存储过程调用方法!!!在线等待

stardream2000 2005-05-05 01:28:44
客户要让我调用如下的存储过程(存储过程我不知道,是客户提供的,我只负责在我的程序里调用),我用delphi怎么调用?用哪个控件方便。
客户的存储过程说明如下:
可通过系统调用本接口,更新机动车主表(表名:vehicle)中的“机动车状态”字段。
调用方式:存储过程:write_vehicle_zt(string hpzl, string hphm, string zt,integer bj, integer res, string err)。
参数说明:
hpzl,号牌种类;
hphm,号牌号码;
zt,状态;
bj,更新标记,1-增加,2-删减;
Res:返回值,0-操作正确; -3-字段信息不符合要求;-4-插入/更新数据库失败;
err:返回值,具体的错误描述。

...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
凯晰叶子 2005-05-12
  • 打赏
  • 举报
回复
学习!关注!UP!
stardream2000 2005-05-06
  • 打赏
  • 举报
回复
write_vehicle_zt 这个是oracle的一个存储过程。我现在需要用delphi调用这个存储过程。

ADOStoredProc1.Parameters.Clear;

with ADOStoredProc1.Parameters.AddParameter do //追加入参数
begin
Name := 'hpzl';
DataType := ftString;
Direction := pdInput; //in
//Size := 20;
end;
with ADOStoredProc1.Parameters.AddParameter do
begin
Name := 'hphm';
DataType := ftString;
Direction := pdInput; //in
//Size := 20;
end;

with ADOStoredProc1.Parameters.AddParameter do //追加出参数
begin
Name := 'zt';
DataType := ftString;
Direction := pdinput; //out
//Size := 30;
end;
with ADOStoredProc1.Parameters.AddParameter do 
begin
Name := 'bj';
DataType := ftinteger;
Direction := pdinput; //out
//Size := 30;
end;
with ADOStoredProc1.Parameters.AddParameter do 
begin
Name := 'res';
DataType := ftinteger;
Direction := pdOutput; //out
//Size := 30;
end;

{...}

self.ADOStoredProc1.execsql;

这样写对不对??
大聪 2005-05-06
  • 打赏
  • 举报
回复
没那么复杂吧,你放个TADOStoredProc,联接上数据库,写上过程名,
delphi会自动读出参数列表的,
你只要在运行的时给值就行了

with ADOStoredProc1 do
begin
Parameterbyname['hpzl'].value:='';
Parameterbyname['res'].value:='';
exeproce;
end;
大聪 2005-05-05
  • 打赏
  • 举报
回复
write_vehicle_zt(string hpzl, string hphm, string zt,integer bj, integer res, string err)。
是什么过程,数据库的还是其它语言的

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧