elcolo83:
Tu idea es muy buena, pero quizá estás reinventando la rueda. Me explico:
No sé cómo funcionen los componentes IB, pero en otros similares, si pones una sentencia como esta:
Código SQL
[-]
select * from tabla where id = :id
en la propiedad SQL, puedes hacer inserciones, actualizaciones y supresiones sin necesidad de especificar nada más. Incluso, por ejemplo, si modificas un registro, el SQL que se genera incluye sólo los campos modificados, mientras que como lo haces, siempre se incluyen todos.
Más aún. Si sigues el truco de AzidRain y pones la sentencia
Código SQL
[-]
select * from tabla where id = :id or :id is null
entonces también te sirve para hacer selecciones.
Las propiedades InsertSql, UpdateSql y DeleteSql, creo que están más para casos en que se involucren varias tablas y la sentencia SQL adecuada no pueda deducirse en automático.
// Saludos