Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2013
beginner01 beginner01 is offline
Miembro
NULL
 
Registrado: mar 2011
Ubicación: República Dominicana
Posts: 181
Poder: 14
beginner01 Va por buen camino
Cita:
Empezado por giantonti Ver Mensaje
buen dia foro
Estoy tratando de hacer un evento desde un timer, y lo que quiero que cuentes los registros de una tabla que cumplan con la condicion que yo le índigo y que estos resultados se muestren en un label.
lo estoy haciendo de esta forma pero me da error.
Código SQL [-]
     adoQuery1.Close;
      adoQuery1.Sql.Clear;
      LabelSol.Text := adoQuery1.Sql.Add('SELECT COUNT(*) AS Expr1' +
                        'where estatus = '+'Abierto');
      adoQuery1.Open;

si alguien ya ha pasado por eso agradeceria su ayuda.
Hola.

Ademas de faltarte el nombre de la tabla como comenta ecfisa también en tu condición pareces estar evaluando una cadena la cual debería de estar entre comillas (''), pero como lo estas haciendo te saldrá sin ellas
y daría error.

Código Delphi [-]
      LabelSol.Text := adoQuery1.Sql.Add('SELECT COUNT(*) AS Expr1' +
                        'where estatus = '+'Abierto');

en la parte en rojo estas según lo que veo debería ser.

Código Delphi [-]
      LabelSol.Text := adoQuery1.Sql.Add('SELECT COUNT(*) AS Expr1' +
                        'where estatus= '+'''Abierto''');

Te quedaría algo así
Código SQL [-]
SELECT COUNT(*) AS Expr1 [from [TuTabla]]  where estatus= 'Abierto'

En la parte en azul estas asignando un entero a una propiedad de tipo string lo que te dará error y no queda claro que persigues con esa parte.
Responder Con Cita
  #2  
Antiguo 07-04-2013
giantonti giantonti is offline
Miembro
NULL
 
Registrado: ene 2013
Posts: 26
Poder: 0
giantonti Va por buen camino
Cita:
Empezado por beginner01 Ver Mensaje
Hola.

Ademas de faltarte el nombre de la tabla como comenta ecfisa también en tu condición pareces estar evaluando una cadena la cual debería de estar entre comillas (''), pero como lo estas haciendo te saldrá sin ellas
y daría error.

Código Delphi [-]
      LabelSol.Text := adoQuery1.Sql.Add('SELECT COUNT(*) AS Expr1' +
                        'where estatus = '+'Abierto');

en la parte en rojo estas según lo que veo debería ser.

Código Delphi [-]
      LabelSol.Text := adoQuery1.Sql.Add('SELECT COUNT(*) AS Expr1' +
                        'where estatus= '+'''Abierto''');

Te quedaría algo así
Código SQL [-]
SELECT COUNT(*) AS Expr1 [from [TuTabla]]  where estatus= 'Abierto'

En la parte en azul estas asignando un entero a una propiedad de tipo string lo que te dará error y no queda claro que persigues con esa parte.
Copio esta sentencia talcual como la pasaste y no funciona, talvez aun le faltara algun punto o parentesis en algun lado. Ha! no mencione al principio que soy novato en la materia.
Responder Con Cita
  #3  
Antiguo 07-04-2013
giantonti giantonti is offline
Miembro
NULL
 
Registrado: ene 2013
Posts: 26
Poder: 0
giantonti Va por buen camino
lo probe de esta forma y cuando lo ejecuto me da un error 'Sintaxis incorecta cerca de '.'

Código Delphi [-]
adoQuery1.Close;
      adoQuery1.Sql.Clear;
      adoQuery1.Sql.Add('SELECT COUNT(*) AS '+'laLabel1.text+' +
                         'from incidencia' +
                         'where estatus= '+'''Abierto''');
      adoQuery1.Open;

y colocandola asi me da un error que dice: [dcc32 Error] fromPrincipal.pas(105): E2010 Incompatible types: 'string' and 'Integer'

[delphi] adoQuery1.Close;
adoQuery1.Sql.Clear;
LabelSol.Text := adoQuery1.Sql.Add('SELECT COUNT(*) AS Expr1' +
'from incidencia' +
'where estatus= '+'''Abierto''');
adoQuery1.Open;[delphi]
Responder Con Cita
  #4  
Antiguo 07-04-2013
beginner01 beginner01 is offline
Miembro
NULL
 
Registrado: mar 2011
Ubicación: República Dominicana
Posts: 181
Poder: 14
beginner01 Va por buen camino
Cita:
Empezado por giantonti Ver Mensaje
lo probe de esta forma y cuando lo ejecuto me da un error 'Sintaxis incorecta cerca de '.'

Código Delphi [-]
adoQuery1.Close;
      adoQuery1.Sql.Clear;
      adoQuery1.Sql.Add('SELECT COUNT(*) AS '+'laLabel1.text+' +
                         'from incidencia' +
                         'where estatus= '+'''Abierto''');
      adoQuery1.Open;
Prueba así.

Código Delphi [-]
adoQuery1.Close;
      adoQuery1.Sql.Clear;
      adoQuery1.Sql.Add('SELECT COUNT(*) AS '+laLabel1.Caption +
                           ' from incidencia' +
                           ' where estatus= '+'''Abierto''');
      adoQuery1.Open;
{
Para ver la cantidad de registro puedes poner.
  Label1.Caption := adoQuery1.Fields[0].AsString;
}


Si te da un error escríbelo en el mensaje.
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
count desc en sql jafera SQL 2 03-02-2010 12:08:08
Sintaxis con count zvf SQL 17 31-01-2008 01:02:18
SQL y clausula Count karlaoax SQL 14 17-09-2007 19:35:55
sentencia count()..... hook SQL 8 04-05-2004 14:53:04
Resultado de Count en SQL MRang14 SQL 2 05-03-2004 19:42:47


La franja horaria es GMT +2. Ahora son las 17:55:24.


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