Delphi - Consultar una tabla mediante un filtro

 
Vista:

Consultar una tabla mediante un filtro

Publicado por Sandra Fuquene (2 intervenciones) el 08/08/2020 20:22:46
Hola. Estoy trabajando en Delphi y tengo una duda.

Tengo una tabla llamada Info.db, necesito que cuando el usuario escriba un dato numérico (en este caso correspondería a la llave primaria de la tabla) en un componente TEdit y de click sobre un TButton, aparezca la información correspondiente a la tabla teniendo en cuenta el número escrito.

El resto de datos se muestran utilizando TDBEdit.

Por el Database Explorer el comando es select * from Info where Id_info=25, pero no se como utilizarlo en Delphi.

Espero sus comentarios.

Gracias.
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
sin imagen de perfil
Val: 38
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

Consultar una tabla mediante un filtro

Publicado por Ciclope (27 intervenciones) el 09/08/2020 10:27:13
Hola, no dices qué motor de BBDD usas. En Delphi-Firebird sería así:

Tienes que poner un Query que apunte a esa tabla (QueryInfoDB)

Al pulsar el Button puedes llamar a un procedure

1
2
3
4
5
6
7
8
9
10
11
nNumero := StrToInt(Edit.Text);
 
procedure LoQueSea(nNumero: Integer);
begin
DataModule.QueryInfoDB.Close;
DataModule.QueryInfoDB.SQL.Clear;
DataModule.QueryInfoDB.SQL.Add('Select * From Info.DB');
DataModule.QueryInfoDB.SQL.Add('Where (CampoNumero = :nNumero)');
DataModule.QueryInfoDB.Parambyname('NNUMERO').AsInteger := nNumero;
DataModule.QueryInfoDB.Open;
end;

Los controles que utilizes, tienes que conectarlos al query.

Espero que te sirva, un saludo.
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

Consultar una tabla mediante un filtro

Publicado por Sandra Fuquene (2 intervenciones) el 09/08/2020 15:48:45
Hola, muchas gracias por tu respuesta.

Te aclaro la tabla es Paradox y uso MySQL y el campo Id_info (llave primaria) es un autoincremental. Tengo un DataModule con la Table, DataSource y Query y en una forma adicional que muestra la informaciòn.

Probe lo que me dijiste pero tengo me salen estos errores:

[Error] Unit4.pas(57): ',' or ':' expected but ':=' found LINEA 1 DE TU EJEMPLO
[Error] Unit4.pas(57): ',' or ':' expected but '(' found LINEA 1 DE TU EJEMPLO
[Error] Unit4.pas(76): Incompatible types: 'Integer' and 'Enumeration' LINEA 9 DE TU EJEMPLO

Esto nNumero := StrToInt(Edit.Text); lo coloque en var y lo modifique por nNumero: StrToInt(Edit1.Text); pero sale este error:

[Error] Unit4.pas(57): Constant or type identifier expected
[Error] Unit4.pas(57): ',' or ':' expected but '.' found

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
sin imagen de perfil
Val: 38
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

Consultar una tabla mediante un filtro

Publicado por Ciclope (27 intervenciones) el 09/08/2020 21:02:54
Hola, no conozco Paradox ni MySQL, de manera que puede ser que haya algo que se haga diferente.

De todos modos mira esta línea que has puesto:

Esto nNumero := StrToInt(Edit.Text); lo coloque en var y lo modifique por nNumero: StrToInt(Edit1.Text); pero sale este error:

En var sólo tienes que poner la variable: nNumero: Integer; (que es la declaración)
El resto: nNumero := StrToInt(Edit.Text) lo pones después del begin y cuando ya se conozca el contenido del Edit..

Estaría bien que pongas el código que tienes, ya que si no es muy dificil.

A ver si te sirve. Un saludo
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