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!