![]() |
Mejor forma de programar con bases de datos
Cuando realizas un programa de gestión que se conecta con una base de datos, utilizamos, por ejemplo, un componente ADOTable para asociarlo a una tabla y un DAtaSource que se asocia , con su propiedad DataSEt, a dicho ADOTable
Para, por ejemplo, insertar un registro en dicha tabla podemos hacerlo 1) Mediante ADOTable1.Append 2) Mediante DataSopurce1.DataSet.Append; Mi pregunta es saber cual de las dos formas es mas elegante, mas eficaz,es mejor a la hora de programar , o si por el contrario da igual la forma de realizar dichas sentencias Muchas gracias |
Hola PTW,
Yo particularmente uso para cualquier manipulación de los datos el componente ADOTable. Es mas, siempre que puedo uso ADOCommand para lanzar secuencias SQL. Reservo el componente DataSource para enlazarlo con componentes visuales como DBGrid. Pienso que de esta forma el código queda mucho mas limpio. Un saludo. |
En mi opinión, si estas en un Datamodule programando usaría ADOTable1.Append
pero si estas en un Grid enlazado a la tabla, usaría Grid.Datasource.Dataset Si mañana ves que es imposible continuar con la tabla en el grid, y necesitas una consulta, ese código que tienes implementado, tiene menos cambios que usando directamente ADOTable.loquesea Saludos |
Cita:
* Más eficaz: (1) Dado que el método Append no está redefinido ni en la clase TADOTable, ni en TCustomADODataSet, al realizar ADOTable1.Append realmente está ejecutando el método de la clase TDataset. (2) Si el DataSource1 está "ligado" al ADOTable, al ejecutar DataSource1.DataSet.Append estás ejecutando el método Append del TADOTable y en consecuencia el de TDataset. POr lo tanto en ambos casos estás ejecutando el mismo código y por lo tanto la eficiencia de ambos es la misma. * Mejor a la hora de programar: Creo que ambos son iguales; En el segundo podría pasar que el DataSet no estuviera asociado,con el correspondiente error de "Access Violation", pero estamos suponiendo que todo es correcto, así que son equivalente. |
La franja horaria es GMT +2. Ahora son las 18:42:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi