Ver Mensaje Individual
  #1  
Antiguo 28-04-2012
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Reputación: 13
camiz Va por buen camino
Smile Evitar guardar duplicado

hola amigos del foro, nuevamente aqui necesitando de su ayuda.
tengo un problema y espero que me ayuden a resoverlo, les explico.

lo que quiero hacer es impedir que se guarde un dato duplicado en una tabla de mi base de datos. mi base de datos es FIREBIRD.



Código SQL [-]
CREATE TABLE REPUESTO
(
  CODREPUESTO Integer NOT NULL,
  FECHA Date,
  HORA Time,
  CODIGO Varchar(15) NOT NULL,
  PROVEEDOR Varchar(50),
  DESCRIPCION Varchar(50),
  CANTIDAD Integer,
  PRECIO_COMPRA Varchar(20),
  PRECIO_VENTA Varchar(20),
  FECHA_COMPRA Date,
  PRIMARY KEY (CODREPUESTO)
);




Lo que deseo es que el campo CODIGO no se repita con los caracteres, o mas claro que no se duplique, he estado probando con este codigo pero siento que falta algo mas, el codigo funciona en el primer registro pero si ingreso el mismo dato sin cerrar el formulario se duplica pero si cierro el formulario despues de cada registro si funciona, el formulario lo boy ha usar para dar de alta registros sin cerrarlo.[/color]
aqui el codigo:


Código Delphi [-]
 //utilizamos la función "locate" para realizar la búsqueda
    frmConeccion.Repuesto_vista_02.Locate('CODIGO', txt_arcodigo_repuesto.Text, []);
  if frmConeccion.Repuesto_vista_02CODIGO.Text = txt_arcodigo_repuesto.Text then
    begin
      Application.MessageBox('Este código ya existe, debe crear otro para este registro.', 'Mensaje del sistema', MB_ICONINFORMATION or MB_OK);
     Abort;
    end
  else
  begin
frmConeccion.Repuesto_save2.Post;
frmConeccion.Repuesto_save2.Refresh;



el codigo lo ejecuto desde el boton guardar, espero que me ayuden a mejorarlo u con otro codigo o enseñarme a crear un TRIG en la base de datos.

Última edición por camiz fecha: 28-04-2012 a las 03:14:41. Razón: agregar datos
Responder Con Cita