Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ayuda con base de datos paradox (https://www.clubdelphi.com/foros/showthread.php?t=42960)

cya2277 26-04-2007 21:55:57

ayuda con base de datos paradox
 
Hola compañeros soy nuevo en esto e intento hacer un pequeño programa utilizando el paradox y delphi 7; lo que intento hacer es que no hayan registros duplicados ya que cuando los hay automaticamente me saca del programa, el codigo lo uso en el boton guardar y lo que se me ocurre es que primero antes de guardar recorrer la base de datos si encuentra un registro duplicado que me mande un mensaje que ya existe el registro y que me mantenga en el programa, y si este no existe que me lo almacene.
espero obtener su ayuda. gracias.....:) el codigo que uso es este:

if Messagedlg('¿Estas Seguro que deseas Guardar este registro?',mtconfirmation,[mbyes,mbno],0)= mryes then
datamodule1.tblClientes.Post
else
datamodule1.tblClientes.Cancel;
progressbar1.Position:= 0;
progressbar1.Max := 50 ;
for i := 0 to 50 do
begin
progressbar1.Position := i;
sleep(2);
end;
for i := 50 downto 0 do
begin
progressbar1.Position := i;
sleep(0);
end

end;

Lonidas 26-04-2007 22:05:21

Como seria la estructura de tu tabla?????
Tienes algún campo marcado como cable primaria, si es así y ese campo no es auto numérico, pude que estés asignando un valor ya cargado…..

Saludos...

Caral 26-04-2007 22:08:43

Hola cya2277
Bienvenido/a al club.
En realidad es muy simple, usa un query y haces una seleccion, si el dato existe te envia el mensaje de lo contrario lo graba.
Saludos

cya2277 26-04-2007 22:17:32

ayuda con base de datos paradox
 
:confused: no entendi bien lo que me dijeron, en este caso yo tengo declarado como llave secundaria un campo RFC que es el cual busco sin problema alguno, mi problema esta cuando intento meter un campo que ya existe me marca key violation y lo entiendo ya que estas duplicando un registro, en todo caso lo que necesito saber es como puedo hacerle para en mi codigo para que en vez que me saque del programa me mande un mensaje de que el campo que estoy intentando ingresar ya existe y no me saque del programa, es decir que me deje trabajar en el mismo..... agradeceria mucho su ayuda aca les dejo nuevamente el codigo que uso para guardar un registro.

if Messagedlg('¿Estas Seguro que deseas Guardar este registro?',mtconfirmation,[mbyes,mbno],0)= mryes then
datamodule1.tblClientes.Post
else
datamodule1.tblClientes.Cancel;
progressbar1.Position:= 0;
progressbar1.Max := 50 ;
for i := 0 to 50 do
begin
progressbar1.Position := i;
sleep(2);
end;
for i := 50 downto 0 do
begin
progressbar1.Position := i;
sleep(0);
end

egostar 26-04-2007 22:28:28

Yo haria lo siguiente:

Código Delphi [-]
if Messagedlg('¿Estas Seguro que deseas Guardar este registro?',mtconfirmation,[mbyes,mbno],0)= mryes then begin
   try
          datamodule1.tblClientes.Post;
   except
      ShowMessage('Cliente ya existe');
   end;
end;

Bienvenido al foro y te recomiendo que leas la guia de estilos

Salud OS.

roman 26-04-2007 23:07:12

Cuidado. A partir del primero de enero de 2008 será ilegal el uso de paradox, y a partir de 2009 estará prohibido siquiera hablar de él. La prohibición es mundial.

// Saludos

Caral 26-04-2007 23:23:32

Hola
Esto que, es broma tuya Roman?,
Las bases de datos, se vencen?
Las pueden prohivir sin mas?
O es apoyo a Firebird.:D
Saludos

cya2277 27-04-2007 01:10:16

Gracias
 
Gracias por el aporte EGOSTAR (me fue de muchisima ayuda), y a los que tuvieron el detalle de ayudarme ;).


La franja horaria es GMT +2. Ahora son las 12:15:52.

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