He intentado miles de formas pero al usar las comillas no lo puedo hacer, no consigo insertar los datos.
¿Cuál es el mensaje de error?
Si es un error de Delphi que te impide compilar y dice alg así como que "la línea no termina" debes seguir haciéndolo como hasta ahora lo hacías (Según tu ejemplo anterior)
Código Delphi
[-]SQL.Text := 'select * from pedidos inner join compras on pedidos.id=Compras.Id where pedidos.id=' + Quotedstr('A001') + ' and Compras.Id=' + Quotedstr('A001');
Para enteder el tema:
1. Los strings en Delphi se determinan entre comillas simpels
Código Delphi
[-]s := 'Hello World';
wrilte(s);
2. La forma de poner una comilla simple en un string en el codigo es repitiéndola
Código Delphi
[-]s := 'Hello ''World''';
wrilte(s);
3. Otra forma de hacer lo mismo es mediante la función QuoteStr
Código Delphi
[-]s := 'Hello ' + QuotedStr('World');
wrilte(s);
Yo suelo hacerlo de la siguiente manera para poder ver código SQL dentro de código Delphi facilmente:
Código Delphi
[-]
with DataSet do
begin
Close;
SQL.Clear;
SQL.Add(' SELECT ''PED'' as tipo, id, codigo, nombre, cantidad ');
SQL.Add(' FROM PEDIDOS ');
SQL.Add(' WHERE ');
SQL.Add(' codigo = :CODIGO ');
SQL.Add(' UNION ');
SQL.Add(' SELECT ''COM'' as tipo, id, codigo, nombre, cantidad ');
SQL.Add(' FROM COMPRAS ');
SQL.Add(' WHERE ');
SQL.Add(' codigo = :CODIGO ');
Params.ByName['CODIGO'].AsString := 'A001';
Open;
[...]
end;