PDA

Ver la Versión Completa : Como hago para colocar una sentencia sql en varias lineas de codigo en delphi


Shidalis
13-08-2005, 16:49:25
saludos
Como hago para colocar una sentencia sql en varias lineas de codigo en delphi, ya que la sentencia sql es muy laraga y al compilar me da un error "String literals may have at most 255 elements"
Por favor le agradeceria a quien pueda ayudarme

Sotrono
13-08-2005, 17:21:54
Hola, conozco dos metodos, yo utilizo el primero.


With Query1 do
begin
Active:= false;
SQL.Clear;
SQL.Add('SELECT Alquileres.IdAlquiler,' +
'Peliculas.Nombre,' +
'Alquileres.Fecha_Alquiler,' +
'Alquileres.Fecha_Devolucion ' +
'FROM Socios INNER JOIN (Alquileres INNER JOIN Peliculas '+
'ON Alquileres.IdPelicula = Peliculas.IdPelicula) ' +
'ON Alquileres.IdSocio = Socios.IdSocio;'
);
Active:= true;
end;



Query1.Active:= false;
with Query1.SQL do
begin
Clear;
Add('SELECT Alquileres.IdAlquiler,');
Add('Peliculas.Nombre,');
Add('Alquileres.Fecha_Alquiler,');
Add('Alquileres.Fecha_Devolucion ');
Add('FROM Socios INNER JOIN (Alquileres INNER JOIN Peliculas ');
Add('ON Alquileres.IdPelicula = Peliculas.IdPelicula) ');
Add('ON Alquileres.IdSocio = Socios.IdSocio;');
end;
Query1.Active:= true;

Shidalis
13-08-2005, 17:51:49
gracias era lo que necesitaba

ContraVeneno
15-08-2005, 17:06:47
Solo como comentario adicional:
En la primera forma, si por alguna razón existe un error en la sentencia, el motor de BD solo te dirá que tienes un error en la línea 1 (ya que la sentencia SQL se pasa en una sola línea).

Esto no sucede en la segunda forma, ya que la sentencia SQL se pasa en líneas distintas, y si existe algún error, el motor de BD te dirá en que línea esta el error.
Por esta razón, yo uso la segunda forma.

Saludos.

Shidalis
15-08-2005, 21:50:20
Muchas Gracias por su ayuda amigos

Sotrono
16-08-2005, 18:24:36
Si ContraVeneno, tenes razon, muchas gracias...