Delphi

Deseo hacer consultas por ejemplo: ¿En un campo específico llamado fimante1 poner?Ing. ¿Rodolfo Barniol? Dar clic y que me salga un listado de todos los contratos que dicho ingeniero ha firmado ya que estará registrado previamente su nombre en las tablas correspondientes.

2 Respuestas

Respuesta
Lo que te conviene hacer es poner un DBlookupcombobox con los "firmantes" ya que se evitan errores de tipeo, y luego un botón [Buscar] en donde realizas la consulta que seria algo así:
Query.SQL.Clear;
Query.SQL.add('Select * from PLANES where Cod_Ingeniero=' + "Cod. Ingeniero Seleccionado en DBLooupComboBox");
Query.SQL.Open;
Espero que te sirva. Ya que es un poco tarde pero las vacaciones...
Respuesta
1
Jo que nombre más complicado).
Bien, lo que necesitas es poner un objeto Tquery que esté enganchado a tu base de datos (bien, sea oracle, informix, pardox...).
Tu Tquery deberá tener la propiedad SqlText con algo así:
SELECT *
FROM tablaingenieros
WHERE NOMBRE=:nomIngeniero
Luego en el botón de Delphi, tendrás que asignarle a ese parámetro el valor de tu campo de la siguiente forma:
TQUERY.paramByName('nomIngeniero').asstring:= edit1.text;
Y luego Abrir la query con un
Tquery.Open;
El resultado puedes verlo en un dbgrid.
Suerte.
Pablo
Gracias mi nombre es margoth y lo que tu me sugieres es muy bueno porque ya lo hice pero necesito hacer consultas mucho más específicas, tu que otro tipo de query me sugieres, aunque te cuento que me sugieren usar el "query bye examples" pero no se si tu sabes si tiene otro nombre y si hay en Delphi porque en la ayuda no existe con ese nombre.
Gracias a parte de este tipo de query que otro sabes o me sugieres para realizar consultas mucho más especificas campo por campo de un tabla
La mejor forma de consultar con delphi a una Base de datos es con el TQuery directamente. No entiendo bien a que te refieres con el "query by example", pero igual te refieres al generador de Querys de delphi, te recomiendo que no lo uses.
Si lo que quieres es hacer consultas a medida, lo mejor que puedes hacer es utilizar el método Sql. Add del componente TQuery. De esa forma puedes añadir lineas a tu sentencia SQL sin límite, e independientemente de los parámetros del TQuery...
Prueba así.
with Tquery do
begin
Sql.Add('select * from tabla');
sql.add('where nombre=' + vnombre);
Open;
end;
Donde Vnombre es una variable con el nombre de tu ingeniero
Un abrazo
Pablo.
Y si uso con un dblookUpComboBox y un grid como procedo con el Tquery
Veamos.
Un dblookupcombobox, y cualquier otro componente DB estára enganchado a un datasource, y este a su vez a un dataset (Tquery o Ttable), siempre ha de ser a sí,
Componente -> Datasource -> Tquery.
Y el grid, ha de ser un dbgrid.
Un abrazo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas