Hola Caral por si optas por el IbDataSet, te comento lo que he descubierto hasta ahora y puede que te ahorre unas horas de busqueda y estudio, seguro que los compañeros te pueden dar más información, pero yo te aporto la que se.
Del IbDataSet los primeros parametroa a rellenar son,
Database // Si el ibtransaction esta conectado te aparecera en Trasaction
En el SelectSQL la base de datos y los Campos a rellenar
Luego pulsas en el Formulario/Datmodule en el IbDataSet con el boton derecho del raton y pulsas sobre el Dataset Editor... y te parecera la siguiente imagen
Del apartado Key Fields eliges el campo primario o campo Clave y de updtae Fields eliges los campos que quieres que se actualizen, yo personalmente pulso sobre Quote Identifiers, por algo que ley de mejor manejo y asegura la integridad de los datos y pulsas luego, sobre el botón Generate SQL y te pasa a la siguienmte pestaña SQL
como podras ver te ha generado los Sql para los Diversos apartados, vete pulsando y veras las diferentes sentencias Sql, ya lo puedes unir mediante unTdataSource a cualquier componente para bases de datos, sin más.
Para usar maestro/ Detalle, (primero tienes que al crear la tabla haberlo preparado con sus indices y demás), lo primero que tendrías que hacer es en el SelectSQL de la IbdataSet Detalle poner la sentencia con llamada al campo clave del Maestro En mi caso La tabla Maestro Es FORMULAS y la Detalle es FORMULAS_DESGLOSE y el Campo comun en ambas y además campo Clave es CODIGO_FORMULA, con lo cual sólo tengo que declarar el SelectSQL como
select * from FORMULAS_DESGLOSE where CODIGO_FORMULA = :CODIGO_FORMULA
, luego hacemos todo lo explicado antes para generar las diferentes sentencias SQL.
Otro Punto interesante es cuando nuestra tabla tiene generadores y como usarlos, esto se controla de la siguiente manera del
IbdatSet pulsa sobre la propiedad GeneratorField y te aparecerá la siguiente pantalla .
En Generator desplegando el comboBox Generator te aparecerá los generadores que ya tienes creados, en Field pues el Campo a que afecta y en Increment By el valor de incremento y luego en Apply Event con que evento se activa el generador.
Creo que con esto te explico lo que yo me acuerdo ahora mismo, muy importante y que no se me olvide, ten en cuanta que ante cualquier cambio sobre la estructura de la tabla, tendrás que volver a todo el proceso del Dataset Editor... y volver a generar las sentencias SQL para que te reconozca los cambios, Pues creo que esto es todo, un saludo desde Canarias.