Delphi - Guardar count en variable

 
Vista:

Guardar count en variable

Publicado por Askel (3 intervenciones) el 22/08/2007 19:43:55
necesito saber el numero de registros que cumplan con una condicion, y guardar ese valor en una variable... tengo esto:

que_proyecto.SQL.Clear;
que_proyecto.SQL.Add('select * from proyecto where Matricula = '+cb_mat.Text+'');

como le hago para guardar el numero de registros que cumplan con esa condicion en la variable??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar count en variable

Publicado por Askel (3 intervenciones) el 22/08/2007 20:07:38
Actualizacion... tengo lo siguiente

que_proyecto.SQL.Clear;
que_proyecto.SQL.Add('select count(cve_proyecto) from proyecto where Matricula = 150');
que_proyecto.Open;
n := que_proyecto.RecordCount;
no_p.Text := IntToStr(n);

en la tabla con esa matricula tengo 2 registros, le he cambiado a algunos con mas o menos registros, y de cualquier modo siempre me da como resultado 1.. que pasa??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar count en variable

Publicado por BigLuis (713 intervenciones) el 23/08/2007 10:13:28
Cuando se emplean funciones de agregacion (count(),SUM(),AVG() etc), normalmente retornan un unico registro con el resultado de la operacion. En este caso concreto te retornara un registro aunque tenga mis en la tabla y el campo "count(cve_proyecto)" que se crea automaticamente al no asignarle tu un nombre distinto tendra el valor 2 ya que ha contado (count) los registros que existen en la tabla que cumplen la condicion del WHERE. Por lo tanto o le quitas la funcion count y empleas RecordCount o extraes el valor del campo retornado Field[0].value.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar count en variable

Publicado por Askel (3 intervenciones) el 23/08/2007 15:17:18
disculpa pero, teniendo en cuenta el codigo que puse en mi nota anterior, me podrias decir como quedaria entonces para que funcione?? entiendo lo que me dices pero no se como aplicarlo.

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar count en variable

Publicado por BigLuis (713 intervenciones) el 23/08/2007 16:08:42
Pues como te expliqué, una vez abierta la Query llamas al campo
n:=que_proyecto.fields[0].value o bien n:=que_proyecto.fields[0].asInteger;
no_p.Text := IntToStr(n);
Pero cuidado porque segun la BBDD que utilices, si el campo cve_proyecto es nulo puede que no te lo contabilice.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar