function get_employee(mc_no:string;):employee_res
begin
      with frm_edit_employee.query_employee_res do
          begin
          close;
          sql.clear;
          sql.text:='select * from employee where em_no=:mc_no';
          Parameters.ParamByName('mc_no').Value:=mc_no;
          open;
          end;
employee_res[0]:=frm_edit_employee.query_employee_res.fieldbyname('em_no').AsString;
    .
    .
    .
    .
result:=employee_res;
end;

解决方案 »

  1.   

    procedure get_employee(mc_no:string;var employee_res:array of string);
    begin
          with frm_edit_employee.query_employee_res do
              begin
              close;
              sql.clear;
              sql.text:='select * from employee where em_no=:mc_no';
              Parameters.ParamByName('mc_no').Value:=mc_no;
              open;
              end;
    employee_res[0]:=frm_edit_employee.query_employee_res.fieldbyname('em_no').AsString;
        .
        .
        .
        .
    end;
      

  2.   

    恩,也可以..把employee_res定义为TString类型...
    这样就可以通过
    employee_res.add(frm_edit_employee.query_employee_res.fieldbyname);
    来不断加入新的字符窜了
    eg:procedure get_employee(mc_no:string;var employee_res:Tstring);
    begin
          with frm_edit_employee.query_employee_res do
              begin
              close;
              sql.clear;
              sql.text:='select * from employee where em_no=:mc_no';
              Parameters.ParamByName('mc_no').Value:=mc_no;
              open;
              end;
    employee_res.add(frm_edit_employee.query_employee_res.fieldbyname('em_no').AsString);
        .
        .
        .
        .
    end;