Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como hago para colocar una sentencia sql en varias lineas de codigo en delphi (https://www.clubdelphi.com/foros/showthread.php?t=24271)

Shidalis 13-08-2005 16:49:25

Como hago para colocar una sentencia sql en varias lineas de codigo en delphi
 
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.

Código Delphi [-]
   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;

Código Delphi [-]
  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...


La franja horaria es GMT +2. Ahora son las 18:04:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi