大虾哥哥们:你们好!
    小妹在使用 ADO 存储过程控件时,
  ADOStoredProc2 := TADOStoredProc.Create(nil);
  with ADOStoredProc2 do
  begin
    Connection := ADOConnection1;
    ProcedureName := '学生选课;1';
    with Parameters.AddParameter do
    begin
      Name := '@学生编号';
      DataType := ftString;
      Direction := pdInput;
    end;
    with Parameters.AddParameter do
    begin
      Name := '@课程编号';
      DataType := ftString;
      Direction := pdInput;
    end;
    with Parameters.AddParameter do
    begin
      Name := '@课堂号';
      DataType := ftString;
      Direction := pdInput;
    end;
    with Parameters.AddParameter do
    begin
      Name := '@返回码';
      DataType := ftInteger;
      Direction := pdOutput;
    end;
  end;
现在我要在DELPHI语句里调用返回参数"@返回码",请问表达式如何写?以下写的对吗?
ADOStoredProc2.Parameters.ParamByName('@返回码').Value
小美人~~~~~~^_^

解决方案 »

  1.   

    JIEZHI:HELLO!
    OK! I WAIT FOR YOU  FOREVER!!!!
      

  2.   

    ADOStoredProc2.Parameters.ParamByName('@返回码').Value
    --------------------------------------------------------
    应该没问题、
      

  3.   

    你试试用Parameters.ParamValues['@返回码']也可以,
    另外你的语句可以写简洁一些,代码如下:
      ADOStoredProc2 := TADOStoredProc.Create(nil);
      with ADOStoredProc2 do
      begin
        Connection := ADOConnection1;
        ProcedureName := '学生选课;1';
        Parameters.CreateParameter('@学生编号', ftString, pdInput, 10, Null);
        Parameters.CreateParameter('@课程编号', ftString, pdInput, 10, Null);
        Parameters.CreateParameter('@课堂号', ftString, pdInput, 10, Null);
        Parameters.CreateParameter('@返回码', ftString, pdOutput, 10, Null);
      end;
      

  4.   

    上面的语句中有一行有点不对:
        Parameters.CreateParameter('@返回码', ftString, pdOutput, 10, Null); 
       正确的是:
        Parameters.CreateParameter('@返回码', ftInteger, pdOutput, 10, Null);