Hola como estan! Queria pedirles opiniones al momento de realizar una actualizacion en firebird que es mas correcto.
Bueno el tema es que en MySql y firebird si utilizamos el siguiente codigo:
Código Delphi
[-]
Query.Open;
Query.Edit;
QueryNOMBRE.Value := 'Valor';
QUery.Post;
y tenemos por ejemplo los siguiente valores en una tabla:
Nombre Apellido
Juan Rodriguez
Matiaz Fernandez
... ...
Maria Gimenez
Cuando ponemos en modo de edicion el Query e insertamos en un campo el MISMO valor que tenia antes nos arroja un error, es decir quiero modificar Juan Rodriguez y le vuelvo a poner de nombre y apellido Juan Rodriguez y automaticamente Firebird chilla.
Para ello yo lo soluciono de dos maneras pero no se cual es la adecuada.
La primera (mucho codigo) asigno en variables los valores que tenia y pregunto si cambio algun valor, en el caso de que cambio realizo el Query.Edit
La segunda (menos codigo) Utilizo try except de la siguiente forma:
Código Delphi
[-]
Query.Open;
try
begin
Query.Edit;
QueryNOMBRE.Value := 'Valor';
QUery.Post;
end
except
Query.Cancel;
end;
Actualmente utilizo la primera forma, pero cuando una tabla tiene muchos campos mi codigo crece el doble al realizar las verificaciones para saber si se modifico un dato o no.
Bueno simplemente queria saber que forma es mas adecuada, o si es mejor utilizar alguna otra. Desde ya muchas gracias a todos!