Ver Mensaje Individual
  #1  
Antiguo 02-09-2010
razor7 razor7 is offline
Miembro
 
Registrado: abr 2007
Posts: 30
Reputación: 0
razor7 Va por buen camino
TDataSet Verificar registro duplicado

Hola, estoy intentando hacer que un TSqlite3DataSet impida la insercion de registros duplicados puesto que se trata de facturas.

Lo que se me ocurrio (soy muy nuevo en esto, perdon por las burradas) es checkear el evento "BeforePost" pero no he tenido suerte. El codigo es el siguiente, y el problema es que no cancela el post en cambio me crea igual un registro que queda completamente en blanco...

En resumen, lo que yo espero es que no quede ningun rastro del registro, pero en vez de eso, me deja un registro con sus campos completamente vacios

Código:
procedure TForm.TFacturas_cabBeforePost(DataSet: TDataSet);
var
  query: String;
begin
  query:='SELECT COUNT(nro_factura_cab) FROM facturas_cab WHERE nro_factura_cab='+QuotedStr(TFacturas_cabnro_factura_cab.Value);
  if not (TFacturas_cab.QuickQuery(query)='0') then
  begin
    TFacturas_cab.Cancel;
    MessageDlg('Esta factura ya existe!', mtError,[mbOk],0);
  end;
end;
Gracias por la ayuda!
Responder Con Cita