Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Contar campos de una tabla por medio de un parametro!! (https://www.clubdelphi.com/foros/showthread.php?t=53276)

Zakio14 16-02-2008 04:21:46

Contar campos de una tabla por medio de un parametro!!
 
Pura Vida Foro! Tengo una duda, trabajo con firebird y delphi7.
mi consulta es: tengo una tabla(Tabla1) con un campo (Id_socio)y en la aplicacion un boton(Boton1) y un Edit(Edit1). Quiero consultar Tabla1 y contar por medio de un parametro(Edit1) recorrer la tabla y ver cuantos registros tiene un socio, con el ID que contiene el (Edit1) . Espero que entiendan mi pregunta... gracias .....

reevil 16-02-2008 04:35:51

Código SQL [-]

SELECT COUNT(*) FROM tabla WHERE Id_socio = "valor_de:Edit11"

en mysql eso funciona, en firebird desconosco

RONPABLO 16-02-2008 05:27:43

me imagino que el query es algo como
Código SQL [-]

select * from Tabla1 where id_socio = :id

in en delphi algo como

Código Delphi [-]
TTabla1.Close;
TTabla1.ParamByName('id').asString := Edit1.text;
TTabla1.open;
TTabla1.First;
TTabla1.Last;
TTabla1.RecordCount;

egostar 16-02-2008 06:00:02

Creo que esto seria suficiente amigo [RONPABLO]

Código Delphi [-]
TTabla1.Close;
TTabla1.ParamByName('id').asString := Edit1.text;
TTabla1.open;
ShowMessage(inttostr(TTabla1.RecordCount));

Salud OS

RONPABLO 16-02-2008 07:38:07

en Firebird no lo es tanto, particularmente a mi nunca me dio el valor real sin ir desde el primer registro hasta el ultimo.... lo mismo en el momento de ver una barra vertical de un DbGrib, hasta que no voy al último registro no se ve proporcional la barra de desplazamiento, cosa que no ocurria con Paradox, cabe anotar que yo no trabajo con componentes TTable, lo hago con IBXTable o con MDOTable

Lepe 16-02-2008 11:39:09

Código Delphi [-]
TTabla1.Close;
TTabla1.ParamByName('id').asString := Edit1.text;
TTabla1.open;

TTabla1.Last;
TTabla1.RecordCount;

El First sobra, cuando se abre un consulta, se situa en el primer registro.

Saludos

Zakio14 21-02-2008 00:58:55

Pura Vida Foro!!
Gracias por sus respuestas fue de gran ayuda.... me funciono de maravilla!!

egostar 21-02-2008 01:55:33

Cita:

Empezado por RONPABLO (Mensaje 266318)
en Firebird no lo es tanto, particularmente a mi nunca me dio el valor real sin ir desde el primer registro hasta el ultimo.... lo mismo en el momento de ver una barra vertical de un DbGrib, hasta que no voy al último registro no se ve proporcional la barra de desplazamiento, cosa que no ocurria con Paradox, cabe anotar que yo no trabajo con componentes TTable, lo hago con IBXTable o con MDOTable

Bueno, en eso tienes razón no leí correctamente el hilo y me fui con la finta de TTable, en todo caso lo que yo hago con los IBX es usar un IBQuery con la siguiente consulta.

Código SQL [-]
SELECT COUNT(*) FROM TABLA

Y en Delphi recupero el valor desde ese Query.

Código Delphi [-]
//Obtengo el número de registros de la tabla
function TForm1.NumRegistros:string;
begin
  IBQuery1.Open;
  Result := IBQuery1.Fields[0].AsString;
  IBQuery1.Close;
end;

//Al abrir la tabla muestro Registro X de Y
procedure TForm1.IBTable1AfterOpen(DataSet: TDataSet);
begin
  Label1.Caption := 'Registro ' + InttoStr(IBTable1.RecNo) + ' de ' + NumRegistros;
end;

//Cuando navego en la tabla actualizo el valor
procedure TForm1.IBTable1AfterScroll(DataSet: TDataSet);
begin
  Label1.Caption := 'Registro ' + InttoStr(IBTable1.RecNo) + ' de ' + NumRegistros;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  IBTable1.Close;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  IBTable1.Open;
end;

Salud OS

RONPABLO 21-02-2008 16:14:49

Cita:

en todo caso lo que yo hago con los IBX es usar un IBQuery con la siguiente consulta.
Si, así es mejor

rastafarey 22-02-2008 18:31:43

Resp
 
Usa execute statement y lansas la consulta sobre la tabla rdb$relations relacionada con rdb$realtionfields y listo


La franja horaria es GMT +2. Ahora son las 05:00:28.

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