Ver Mensaje Individual
  #1  
Antiguo 10-11-2006
efelix efelix is offline
Miembro
 
Registrado: jul 2006
Posts: 84
Reputación: 18
efelix Va por buen camino
Insertar registro en una tabla

Hola a todos, muchos saludos. Tengo el siguiente problema, trabajo en delphi 7 con una aplicación de bases de datos utilizando Microsoft SQL Server, tengo un formulario donde trato de insertar un nuevo registro en una tabla, utilizando los componentes de la paleta ADO. Tengo un ado connection, ado table y un datasource, además de diferentes dbedit que están enlazados a los campos de la tabla a la cual quiero agregar el nuevo registro. Tengo tres botones de comando, uno para agregar con el siguiente código:
Código Delphi [-]
begin
 ADOTNuevaFactura.Append;
 ADOTNuevaFacturaIdFactura.FocusControl;
end;

Un botón cancelar con el código siguiente:
Código Delphi [-]
begin
 ADOTNuevaFactura.Cancel;
end;
Y por último un botón guardar con el código:
Código Delphi [-]
begin
 ADOTNuevaFactura.Post;
 if ADOTNuevaFactura.Locate('IdFactura',DBEDitNumero.Text,[])then
    MessageDlg('Esta factura ya existe',mtError,[mbOK],0);
    Abort;
end;
El campo Idfactura es el campo llave de la tabla, por lo que he puesto esto para que alerte en caso de que la factura que se trata de introducir ya exista, pero esto no me funciona cuando pruebo la aplicación y pongo una factura ya existente y le doy al botón guardar se me levanta una exception en la clase EoleException advirtiéndome que hay una violation de la clave primaría, esto lo se por eso he puesto ese código para que no se levante la exception, pero no se cmo solucionarlo, y no quiero entrar en el mundo del tratamiento de las excepciones porque realmante es algo que lamentablemente no entiendo. Ojala me puedan ayudar. Muchas gracias por todo.
Responder Con Cita