Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2005
kryna kryna is offline
Miembro
 
Registrado: mar 2005
Posts: 46
Poder: 0
kryna Va por buen camino
registros duplicados

hola amigos

mi problema es el siguiente.. quiero que al ingresar un registro en el sistema no me permita incluir codigos que ya esten incluidos.. osea si trato de inculir un registro cuyo codigo ya se encuente en el sistema me envie un mensage de erros que el registro ya esta en el sistema...

estoy trabajando en delphi y con gestor paradox

este es el codigo que estoy utilizando

encontrado := false;

while (not encontrado) do
begin
if td1.cod1 = clave2 then
encontrado:=true;
end;
if not encontrado then
showmessage ('el registro ya existe')
else
begin
Tb1.Insert;
Tb1.FieldByName('cod1').AsString := Clave;
Tb1.FieldByName('cod2').AsString := clave2;
Tb1.Post;
Tb1.Next;
Tb1.FlushBuffers;
Tb1Close;

Tb2.Insert;
Tb2.FieldByName('cod2').AsString := Clave2;
Tb2.FieldByName('des').AsString := clave4;
Tb2.post;
Tb2.Next;
Tb2.FlushBuffers;
Tb2.Close;

ShowMessage('LOS DATOS FUERON GRABADOS SATISFACTORIAMENTE!!');
end
Responder Con Cita
  #2  
Antiguo 07-04-2005
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Post

Código:
  //EVITAR DUPLICADOS
  if Tb1.locate('Cod1',Clave,[locaseinsensitive]) then
	ShowMessage('Ya existe la clave')
  else
	if Tb2.locate('Cod1',Clave2,[locaseinsensitive]) then
	  ShowMessage('Ya existe la clave2')
	else
	begin
	  Tb1.Insert;
	  Tb1.FieldByName('cod1').AsString := Clave;
	  Tb1.FieldByName('cod2').AsString := clave2;
	  Tb1.Post;
	  Tb1.Next;
	  Tb1.FlushBuffers;
	  Tb1Close;

	  Tb2.Insert;
	  Tb2.FieldByName('cod2').AsString := Clave2;
	  Tb2.FieldByName('des').AsString := clave4;
	  Tb2.post;
	  Tb2.Next;
	  Tb2.FlushBuffers;
	  Tb2.Close;

	  ShowMessage('LOS DATOS FUERON GRABADOS SATISFACTORIAMENTE!!');
	end;
__________________
Saludos,
Peter Investment
Responder Con Cita
  #3  
Antiguo 07-04-2005
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Hola:

Perdonad que me meta, pero es un asunto que me interesa.

Esto para la opción insertar nuevo registro funcionaría bien, pero si tenemos que modificar un registro y después de entrar a modificar lo dejamos como estaba y aceptamos nos daría el mensaje de 'La clave ya existe' .

Yo lo he solucionado de una manera un poco peculiar que no me gusta mucho y quería conocer alguna otra forma de hacer esto.

Un saludo.
Responder Con Cita
  #4  
Antiguo 08-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El campo que actua como clave principal no puede, ni debe ser editado por el usuario, por tanto, en las modificaciones es imposible que de fallo de violación de clave.

Por otra parte, y volviendo al tema original del hilo, lo que hace Investment o kryna es totalmente correcto, pero hay otro método más, y quizás más eficiente.Consiste en dejar al motor de bases de datos toda la operación.

Violacion de clave única en paradox
tambien puedes buscar en el foro por Abort.

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 08-04-2005 a las 09:37:11.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:52:14.


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
Copyright 1996-2007 Club Delphi