Hola
Cita:
Empezado por mcs
Por esto mismo he dicho lo de actualizar UN registro. Si tienes el registro 25 abierto en un form, encuentro más fácil hacer un
Código:
tabla1.edit();
tabla1VALOR1.asString():=editvalor1.text();
tabla1.post();
|
Aqui tu mismo lo dices: si tienes la tabla abierta, eso quiere decir que ya hiciste un
Select * form tabla, aunque sea para hacer un simple edit.
Osea, llamaste a todos los registros de la tabla para insertar, actualizar o lo que sea de un solo campo.
Si la tabla contiene pocos registros esta bien, pero si contiene muchos se hara muy lento.
Intenta hacer una consulta
con un table a una tabla con muchos registros via internet, puedes ir a tomarte un cafe mientras te envia el dato.
Cita:
Empezado por mcs
, que no un
Código:
query1.sql.clean();
query1.sql.add('UDPATE tabla1 SET valor1=:VAL1 WHERE id=:ID');
query1.paramByName('ID').asInteger:=variableId;
query1.paramByName('VAL1').asString():=editValor1.Text();
query1.execute(); // o es un open()? he ejecutado alguna vez un update, pero no recuerdo como...
|
Aqui por el contrario trabajaste un poco mas en el codigo, pero el programa. la actualizacion o lo que se quiera hacer sera mucho mas eficiente, rapida y efectiva, repito, en tablas con mucho contenido.
Nota: es
query1.ExecSQL;
Cita:
Empezado por mcs
Logicamente es cuestión de gustos, pero no sé, yo lo encuentro más simple así...
|
Para mi no es un asunto de gustos, es un asunto de programacion.
Si se hacen las cosas bien, se hacen una vez.
El dia que crezca la tabla el cliente te llamara para decirte que el programa esta muy lento y tendras que recurrir al sql, te guste o no, sea mas facil o no.
Saludos
PD: No pretendo contradecirte, es solo mi opinion.