procedure TfrmSetSysConfig.btnOKClick(Sender: TObject);
var
  Mysp:TADOStoredProc;
begin
MySp := TadoStoredProc.Create( Application );
  with MySp do
  try
    begin
      Connection := Adocon;
      ProcedureName := 'sql..sp_sys_config_set';
      Parameters.CreateParameter('@operator_no', ftInteger, pdInput, 4, CommonInfo.OperatorNo);
      Parameters.CreateParameter('@op_station', ftstring, pdInput, 12, CommonInfo.MAC);
      Parameters.CreateParameter('@action', ftInteger, pdInput, 12, 2);
      Parameters.CreateParameter('@config_no', ftInteger, pdInput, 4, strtoint(edtConfigNo.Text));
      Parameters.CreateParameter('@config_name', ftstring, pdInput, 64, edtConfigName.Text);
      Parameters.CreateParameter('@access_level',  ftInteger, pdInput, 4, cmbAccessLevel.itemindex);
      Parameters.CreateParameter('@date_type', ftInteger, pdInput, 255, cmbDataType.itemindex);
      if cmbDataType.ItemIndex = 0 then
      Parameters.CreateParameter('@char_config', ftstring, pdInput, 1,edtconfig.text);
      if cmbDataType.ItemIndex = 1 then
      Parameters.CreateParameter('@int_config',  ftInteger, pdInput, 4, strtoint(edtconfig.text));
      if cmbDataType.ItemIndex = 2 then
      Parameters.CreateParameter('@str_config', ftstring, pdInput, 600, edtconfig.text);
      Parameters.CreateParameter('@note', ftstring, pdInput, 600, mmNote.Text);
      Parameters.CreateParameter('@error_info', ftString, pdOutput, 255, '');
      ExecProc;
      if Parameters.ParamByName('@error_info').Value <> '' then
      begin
        ErrorFrm(Parameters.paramByName('@error_info').Value,1);
      end
      else
      begin
        MessageDlg( '系统配置成功!' , mtInformation, [mbOK], 0 );
  end;
end;
  except
    MySp.free;
  end;
  MySp.free;
end;存储过程中各参数类型如下:
DECLARE @RC int
DECLARE @operator_no int
DECLARE @op_station char(12)
DECLARE @action int
DECLARE @dict_entry int
DECLARE @subentry int
DECLARE @access_level int
DECLARE @dict_prompt varchar(255)
DECLARE @error_info varchar(600)