Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-11-2022
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Tienes el open antes de cargar la sentencia SQL
Responder Con Cita
  #2  
Antiguo 02-11-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Cita:
Empezado por kuan-yiu Ver Mensaje
Tienes el open antes de cargar la sentencia SQL
Código:
With ADOQuery1 do
        begin
        Close;
        Sql.Clear;
        Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus =: 'NEW' ;
        Open;
        ADOQuery1.First;

        while not ADOQuery1.Eof do
        begin
         Label1.Caption := 'A000' + ADOQuery1.fieldbyname('Item').asstring;
        end;
No ni siquiera haciendo eso es que el error me lo da justamente es esta linea y no me deja compilarlo para verificar
Responder Con Cita
  #3  
Antiguo 02-11-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Aquí tienes un lío de comillas.
Código Delphi [-]
Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus =: 'NEW' ;
                                                                                                      ^^^^^ ;
                                                                                                   ^^
Debería ser
Código Delphi [-]
Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus =: ''NEW'' ';

Admás no se bien qué es el "estatus =:"
Responder Con Cita
  #4  
Antiguo 02-11-2022
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Como te han indicado, las comillas de 'NEW' están mal.
Yo prefiero usar QuotedStr(miDato), siempre que tengo que poner comillas.
Además '=:' indica que le pasas un parámetro. O bien sobran las comillas de 'NEW' y tienes que indicar el valor de ese parámetro, o bien sobra ':'
Responder Con Cita
  #5  
Antiguo 02-11-2022
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 914
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado puede utilizar el método indicado por el colega kuan-yiu o usar parametros...

Código Delphi [-]
With ADOQuery1 do
       ... 
        //Utilizando Parametros
        Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus =:Estatus';
        ParamByName('Estatus').AsString:='NEW';

        //kuan-yiu: Utilizando QuitedStr
        Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus ='+QuotedStr('NEW');
        
        Open;
        ...

Saludos y buena suerte...
Responder Con Cita
  #6  
Antiguo 02-11-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Aquí tienes un lío de comillas.
Código Delphi [-]
Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus =: 'NEW' ;
                                                                                                      ^^^^^ ;
                                                                                                   ^^
Debería ser
Código Delphi [-]
Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus =: ''NEW'' ';

Admás no se bien qué es el "estatus =:"

Código:
procedure TFormCaja.SpeedButton1Click(Sender: TObject);
begin
    With ADOQuery1 do
        begin
        Close;
        Sql.Clear;
        Sql.Text := 'SELECT * FROM tiket T INNER JOIN (SELECT MIN(Item) AS MINIMO FROM tiket WHERE estatus =: ''NEW'' ';
        Open;
        ADOQuery1.First;

        while not ADOQuery1.Eof do
        begin
         Label1.Caption := 'A000' + ADOQuery1.fieldbyname('Item').asstring;
        end;


      end;
end;
Sigue dandome un error
Adjunto error

NOTA: el estatus es un campo que me dice si es nuevo 'NEW' o ya ha sido utilizado 'OLD' la idea que haga un filtro de todos lo que tengan la condicion 'NEW'

Última edición por giantonti1801 fecha: 29-03-2023 a las 20:43:36.
Responder Con Cita
  #7  
Antiguo 03-11-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por giantonti1801 Ver Mensaje
Perfecto! me funciona en Sql Manager sin ningun problema pero ahora me esta dando problema en la aplicacion
Si no dices "qué problemas" concretamente te está dando es difícil saber qué pasa.

Cita:
Empezado por giantonti1801 Ver Mensaje
No ni siquiera haciendo eso es que el error me lo da justamente es esta linea y no me deja compilarlo para verificar
Lo mismo.
Si tienes un error pero no das detalles de cual es, es difícil saber qué está pasando o darte más información.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Primer registro y ultimo registro Jose Roman OOP 4 26-07-2012 19:29:11
Consultar el primer registro de una tabla Jose Roman SQL 2 10-02-2010 23:30:00
selecciona el primer registro de mi tabla!! maru1981 OOP 1 01-08-2007 05:35:12
Primer registro de un ClientDataSet?? Berto2003 Varios 4 13-03-2007 17:24:49
Primer Registro alcides Varios 5 04-05-2005 17:34:37


La franja horaria es GMT +2. Ahora son las 19:08:52.


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
Copyright 1996-2007 Club Delphi