Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   problema con una consulta (https://www.clubdelphi.com/foros/showthread.php?t=72557)

leofuentes21 25-02-2011 22:37:20

problema con una consulta
 
buen dia a todos,necesito que me ayuden con el siguiente problema que tengo con una consulta.yo soy nuevo en el club y estoy aprendiendo a trabajar con delphi7.
estoy trabajando con una base de datos de firebir y lo que quiero hacer es crear mis propios botones uno en el cual yo de click me avanze al siguiente,atras,primero y ultimo registro y que me regresó la consulta y así poderlos mostrarlos la informacion en edit.

este es lo que tengo en el boton primero.pero me dise en el mensaje de error que no encuentra el campo NUM_REG.
que peuedo hacer?les agradeceria mucho la ayuda!!!!!
saluds

Código Delphi [-]
 with qryempleados do
 begin
       active:=false;
       sql.clear;
       SQL.ADD('select *FROM empleados');
       edtclave.Text:=qryempleados.FieldByName('NUM_REG').AsString;
       edtnombre.Text:=qryempleados.FieldByName('NOMBRES').AsString;
       edtdireccion.Text:=qryempleados.FieldByName('DIRECCION').AsString;
       edtid.Text:=qryempleados.FieldByName('ID').AsString;
       edttelefono.Text:=qryempleados.FieldByName('TELEFONO').AsString;
       edtfecha.Text:=qryempleados.FieldByName('FECHA').AsString;
       opciones2.ItemIndex:=qryempleados.fieldByName('SEXO').AsInteger;
       active:=true;
       first;
     end;

leofuentes21 25-02-2011 22:57:23

OK. ASI LO SOLUCIONE.


Código Delphi [-]
 with qryempleados do
 begin
       active:=false;
       sql.clear;
       SQL.ADD('select *FROM empleados');
       ACTIVE:=TRUE;
       first;
     end;
       edtclave.Text:=qryempleados.FieldByName('NUM_REG').AsString;
       edtnombre.Text:=qryempleados.FieldByName('NOMBRES').AsString;
       edtdireccion.Text:=qryempleados.FieldByName('DIRECCION').AsString;
       edtid.Text:=qryempleados.FieldByName('ID').AsString;
       edttelefono.Text:=qryempleados.FieldByName('TELEFONO').AsString;
       edtfecha.Text:=qryempleados.FieldByName('FECHA').AsString;
       opciones2.ItemIndex:=qryempleados.fieldByName('SEXO').AsInteger;
end;

leofuentes21 25-02-2011 23:13:13

ahora el problema que tengo es que al darle click en el boton siguiente solo se adelanta un registro nada mas y al darle click de nuevo no avansa al siguiente.y no esta en el ultimo registro.

ocram 25-02-2011 23:15:15

Cita:

Empezado por leofuentes21 (Mensaje 392048)
with qryempleados do begin active:=false; sql.clear; SQL.ADD('select *FROM empleados'); edtclave.Text:=qryempleados.FieldByName('NUM_REG').AsString; edtnombre.Text:=qryempleados.FieldByName('NOMBRES').AsString; edtdireccion.Text:=qryempleados.FieldByName('DIRECCION').AsString; edtid.Text:=qryempleados.FieldByName('ID').AsString; edttelefono.Text:=qryempleados.FieldByName('TELEFONO').AsString; edtfecha.Text:=qryempleados.FieldByName('FECHA').AsString; opciones2.ItemIndex:=qryempleados.fieldByName('SEXO').AsInteger; active:=true; first; end;

Se ve que eres nuevo en delphi de tu procedimiento lo unico que estaba mal era la linea actve:=true ya que esa deberia ir despues de sql.add.... y listo, aunque por otro lado podrias utilizar en lugar de un edit al que tengas que estarle asignando el valor del registro cada que te mueves en la tabla mejor utiliza un dbedit que automaticamente muestra el valor del campo seleccionado y para navegar con un DBNavigator que automaticamente te hace el siguiente, anterior, ultimo, siguiente, editar, etc

leofuentes21 25-02-2011 23:36:28

ok. conosco los objetos dbedit y DBNavigato.pero yo no quiero hacerlos con esos objetos,sino con los edit y los button para acer la programacion para acerlos funcionar.ahora bien al darle click en next por ejemplo solo avansa una sola ves en los registro y si le doy de nuevo no avansa.los mismo con el boton atras.n c como solucionarlo.!!!!

ContraVeneno 26-02-2011 00:16:17

sería más fácil si pusieras el código que tienes en tu botón "siguiente" y/o en tu botón "anterior

leofuentes21 28-02-2011 16:04:27

resolvi el problemas de los botones.lo que hice fue que en el form en el evento onshow
Código Delphi [-]
with qryempleados do
       begin
       active:=false;
       sql.clear;
       SQL.ADD('select *FROM empleados');
       ACTIVE:=TRUE;
       end;

y en los botones de direccion:


Código Delphi [-]
ryempleados.Active:=true;
    qryempleados.first;
       edtclave.Text:=qryempleados.FieldByName('NUM_REG').AsString;
       edtnombre.Text:=qryempleados.FieldByName('NOMBRES').AsString;
       edtdireccion.Text:=qryempleados.FieldByName('DIRECCION').AsString;
....................

pero tengo un problema cuando quiero editar informacion y despues guardar me da este error

key vilation.
attempt to store duplicate value (visible to active transactions) in unique index ' empleados_IE1.'


les agradecere su ayuda


La franja horaria es GMT +2. Ahora son las 00:33:45.

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