Buenas tardes, cree los siguientes métodos, para pasar parámetros en cadenas como en otros lenguajes, si se puede mejorar estaría bien o si no espero les sirva como esta.
Código Delphi
[-]
procedure Split(Delimiter: char; Str: string; ListOfStrings: TStrings) ;
begin
ListOfStrings.Clear;
ListOfStrings.Delimiter := Delimiter;
ListOfStrings.DelimitedText := Str;
end;
function replaceParams(strBefore:string; values:string):string;
var
contParam,i:integer;
nStr:string;
arStr:TStringList;
begin
arStr := TStringList.Create;
values:=StringReplace(values, ' ', '_',[rfReplaceAll, rfIgnoreCase]);
Split(';', values, arStr) ;
contParam:=0;
nStr:='';
for i:=1 to length(strBefore) do begin
if (strBefore[i] = '?') and (strBefore[i] <> ' ') then begin
nStr := nStr + quotedStr(StringReplace(arStr[contParam], '_', ' ',[rfReplaceAll, rfIgnoreCase]));
inc(contParam);
end
else begin
nStr:= nStr + strBefore[i];
end;
end;
Result := nStr;
end;
Procedure InsertReg(nombre:string; apellido:string; depto:integer);
var
sentence, values:string;
begin
values:=nombre+';'+apellido+';'+inttostr(depto);
sentence := 'INSERT INTO empleados VALUES (?, ?, ?, 1)';
accessData(replaceParams(sentence, values),'');
end;