procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(Getstr('undo'));/////这里报错:参数不足,期待是1,应该怎么调用呢?
end;
function TForm1.getstr(str1:string;const lng1:string='english'):string;
begin
  with ADOQuery1 do
  begin
    sql.Clear;
    sql.Add('Select '+lng1+' from String_in_program where String_name='+str1);
    open;
    result:=Fields.Fields[0].AsString;
  end;
end;

解决方案 »

  1.   

    sql.Add('Select '+lng1+' from String_in_program where String_name='+''''+str1+'''');
      

  2.   

    sql.Add('Select '+lng1+' from String_in_program where String_name='+str1);
    ->改成这样试试
    sql.Add('Select '+lng1+' from String_in_program where String_name='+quotedstr(str1));
      

  3.   

    showmessage(Getstr('undo'));//个人觉的这样引用没错
      

  4.   

    sql.Add('Select '+lng1+' from String_in_program where String_name='+str1);-》String_name='''+str1+'''');同意 
    lzy6204