Cita:
Empezado por rgstuamigo
Osea que cada registro que maneja el DataSet no es transparente?  
Pues pense que se podia por me dije asi mismo "Por que no aprovechar lo que ya esta hecho y poder utilizarlo"
Incluso vi el metodo Prepare que al parecer prepara que todo este listo.
Tambien vi que se podia hacer esto:
Código Delphi [-]ZQuery1.Fields.Add(algo);
Parece ser que Adiciona un nuevo Registro(Field)
Entonces para que esto?
¿Que alguien me explique por favor necesito entenderlo?
Tienes razon, entonces se podria hacer que primero haga un Insert y Luego un Post y quedaria solucionado en tal caso si se pudiera.
La verdad si alguien puede complementar le estaria muy agradecido.
Gracias amigo Delphius ...
Saludos...
|
Disculpa pero en ningún momento he dicho de que no se pueda o no deba trabajar a nivel de registros. Sino que el TDataSet encapsula todo el manejo interno de los registros y sus datos en un Buffer.
El DataSet nos oculta el Buffer, y en vez de ello nos ofrece los métodos bases que luego serán usados y ampliados por las clases descendientes de éste.
Repito nuevamente: no podemos ver el Buffer, pero a cambio de ese buffer tenemos los métodos, propiedades, y clases necesarias para hacernos la tarea más fácil.
Que se pueda añadir un campo
al array Fields no viene al caso, eso ya es otra cuestión. ¿Qué no era que estamos hablando de insertar registros y no campos?
Y por si fuera poco, No es un comportamiento normal el que describes, ya que el mismo DataSet se encarga de añadir los campos necesarios en su momento.
Se ofrece ese método puesto que puede ser de utilidad en ciertos casos, pero no son muy frecuentes. El TDataSet llama, internamente a Fields.Add cuando lo necesite. ¿Cuáles son esos casos? La respuesta no podemos generalizar; se necesita analizar caso a caso.
¿A que viene ese giro de tu duda?
Sigues hablando abstractamente, (de igual modo que lo hago yo). Bajemos a tierra mejor. Define una duda concreta y puntual.
¿Quieres una respuesta puntual de cuando se hace uso de Fields.Add?
Un ejemplo es cuando el dataset (un TTable por ejemplo) habre la tabla. Cuando abre la tabla, pide los campos al motor y por cada campo crea un nuevo TField y lo asocia a la lista TFields.
Ahora mismo me imagino un caso, único y raro, en donde se podría necesitar llamar a Fields.Add: crear una tabla en memoria.
Quiero hacerte notar, que lo que estás preguntando son cosas un tanto rebuscadas, y abstractas. Vuelvo a reafirmar mi duda inicial ¿A que viene todo esto?
No se... a lo mejor yo soy el que no comprende el tema.
Saludos,