客户要让我调用如下的存储过程(存储过程我不知道,是客户提供的,我只负责在我的程序里调用),我用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:返回值,具体的错误描述。

解决方案 »

  1.   

    write_vehicle_zt(string hpzl, string hphm, string zt,integer bj, integer res, string err)。
    是什么过程,数据库的还是其它语言的
      

  2.   

    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;这样写对不对??
      

  3.   

    没那么复杂吧,你放个TADOStoredProc,联接上数据库,写上过程名,
    delphi会自动读出参数列表的,
    你只要在运行的时给值就行了with ADOStoredProc1 do
    begin
      Parameterbyname['hpzl'].value:='';
      Parameterbyname['res'].value:='';
      exeproce;
    end;