Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, lo suyo seria tratar de coger la excepcion por id repetido

Código Delphi [-]
var
        fet : boolean;
        id : integer;
begin
       fet := false;
       while not fet do
       begin
                 id := strtoint(Edit1.Text); 
                 try 
                    Tabla.Append;
                    Tabla.FieldValues['id'] := id;
                    ...
                    Tabla.Post; 
                    fet := true;
                except  
                    ShowMessage('identificador repetido');
                    Edit1.SelectAll;
                    Edit1.SetFocus;
               end;       
       end;
end;

algo asi. igualmente este tema esta bastante tratado. si usas el buscador del foro seguramente encontraras otros mensajes

Última edición por coso fecha: 23-07-2008 a las 18:00:59.
Responder Con Cita
  #2  
Antiguo 23-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
otra manera es crearlos aleatoriamente

Código Delphi [-]
tabla.Filtered := false;

id := random(99999999999)
while tabla.locate('id',id,[]) do id := random(9999999999999);

tabla.Append;
...

o secuencialmente

Código Delphi [-]

tabla.Filtered := false;
tabla.IndexFieldNames := 'id';
tabla.Last;
id := tabla.FieldByName('id').Asinteger + 1;
...

o usar los tipos autoincrementables en el diseño de la tabla
Responder Con Cita
  #3  
Antiguo 23-07-2008
airam airam is offline
Miembro
 
Registrado: may 2008
Posts: 29
Poder: 0
airam Va por buen camino
checando las respuestas

hola que tal gracias por haber leido mi mensaje y aportarme una idea, lo checare y reportare mi resultado, gracias por tu ayuda y por tu tiempo
Responder Con Cita
  #4  
Antiguo 23-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
de nada ... dios me lo pague
Responder Con Cita
  #5  
Antiguo 23-07-2008
airam airam is offline
Miembro
 
Registrado: may 2008
Posts: 29
Poder: 0
airam Va por buen camino
sigo con lo mismo

oyes, disculpa por la molestia, pero me lo podrias explicar un poquito mas con el codigo de c++ builder, ya q no me se bien la sintaxis, por favor.
Responder Con Cita
  #6  
Antiguo 23-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
perdona que lo escribi en delphi.

Código:
void Append()
{
        bool fet = false;
        int  id;

        while !fet 
        {
           id = strtoint(Edit1->Text); 
           try 
              Tabla->Append;
              Tabla->FieldValues['id'] = id;
              ...
              Tabla->Post; 
              fet = true;
           catch
           {
              ShowMessage("identificador repetido");
              Edit1->SelectAll;
              Edit1->SetFocus;
           }
       }
}
algo asi...lo importante es que pilles la idea

Última edición por coso fecha: 23-07-2008 a las 18:01:20.
Responder Con Cita
  #7  
Antiguo 23-07-2008
airam airam is offline
Miembro
 
Registrado: may 2008
Posts: 29
Poder: 0
airam Va por buen camino
gracias por tu ayuda, me distes una idea, pero mira en el trabajo q estoy realizando, la idea es esta:
tengo un boton la cual es para insertar, ahi le doy el codigo de insertar, y en otro boton el de guardar.bueno pues mi idea es q a la hora de darle en el botonguardar realice la condicion de q no se puede repetir la llave primaria si es q se repite y si no q guarde los datos q haya insertado.
No se si me entiendas bien, ojala y puedas ayudarme, te lo agradezco mil veces.
Responder Con Cita
  #8  
Antiguo 23-07-2008
airam airam is offline
Miembro
 
Registrado: may 2008
Posts: 29
Poder: 0
airam Va por buen camino
gracias por tu ayuda, me distes una idea, pero mira en el trabajo q estoy realizando, la idea es esta:
tengo un boton la cual es para insertar, ahi le doy el codigo de insertar, y en otro boton el de guardar.bueno pues mi idea es q a la hora de darle en el botonguardar realice la condicion de q no se puede repetir la llave primaria si es q se repite y si no q guarde los datos q haya insertado.
No se si me entiendas bien, ojala y puedas ayudarme, te lo agradezco mil veces.
Responder Con Cita
  #9  
Antiguo 23-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por airam Ver Mensaje
gracias por tu ayuda, me distes una idea, pero mira en el trabajo q estoy realizando, la idea es esta:
tengo un boton la cual es para insertar, ahi le doy el codigo de insertar, y en otro boton el de guardar.bueno pues mi idea es q a la hora de darle en el botonguardar realice la condicion de q no se puede repetir la llave primaria si es q se repite y si no q guarde los datos q haya insertado.
No se si me entiendas bien, ojala y puedas ayudarme, te lo agradezco mil veces.
A ver, si es una llave primaria, no puede repetirse, la propia base de datos te invalida ese insert, o me equivoco?

El ejemplo que te ha puesto nuestro amigo coso hace precisamen te eso.... no entiendo cual es el problema que tienes.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como arreglo mis 3 Primarias? Deiv Windows 5 08-09-2006 15:05:53
Como trabajar las llaves primarias en red javicho_villa Varios 3 19-04-2006 21:38:58
Incrementar las llaves primarias con zeos uper MySQL 1 16-07-2005 20:23:00
Problema de llaves primarias y foráneas!! romansiux Varios 2 10-04-2005 16:20:57
como crear exception para validar duplicación de llaves en tabla viajero2015 Conexión con bases de datos 6 21-10-2003 09:54:09


La franja horaria es GMT +2. Ahora son las 23:57:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi