|Subject||Re: [IBO] TIBOQuery & n-tier updates|
> No, not at all. The IBODataset does that itself and it usescreates
> ExecuteImmediate. In the normal course of events, the IBODataset
> the UpdateSQL statements itself, using the KeyLinks to build theWHERE
> clause and populate the XSQLDAs.call
> You only need to configure the property explicitly where you have to
> custom SQL to perform the operation - as is perhaps your situationhere -
> it's necessary for joined sets that need more than one tableupdated, for
> example. If you only want one table from a joined set to beupdated, you
> can use the KeyRelation property to tell IBO which table, and youwon't
> need custom SQL unless you have something special to do.(EditSQL,
> Just put your parameterised UpdateSQL in the relevant property
> InsertSQL, DeleteSQL) of the provider. Make sure you have thecorrect
> KeyLinks set. You'll save some code if the parameter names matchthe
> KeyLinks names. If the names are mismatched, or you want tointervene in
> some special way, e.g. to do some kind of validation, you'll have toassign
> the parameter values yourself in the Before event.own
> >In that case I'm interested to learn
> >how to implement the AParam parameter of type PXSQLDA of the
> >ExecuteImmediate method (recommended by Jason in message 25390).
> This is necessary only if you have to call ExecuteImmediate in your
> code. If you have a dog, you don't need to bark yourself...structures fit
> The API Guide explains usage and data and where the XSQLDA
> into the big picture. Probably the only way you're going to gethold of
> this is to track through the code to see the declarations and howthe code
> instantiates, populates and uses an XSQLDA record. Start inIB_Header.pas
> and work through IB_Components.pas.warmly
> If you decide to walk this rarefied path, a Howto article would be
> accepted. :-)Hi Heleen,
I use sp's for IBOQuery selects and updates:
SELECT FLD1, FLD2, .. FROM SEL_RECS(:PAR1);
PAR1 is included in the Params property and works just fine.
PAR1 doesn't equal any fieldname (it's a where conditions string).
EXECUTE PROCEDURE DEL_REC(:PAR2);
PAR2 is the PK which is also included in the selected fieldlist.
Whatever I try, PAR2 isn't assigned the proper value (remains NULL).
I've included PAR2 in the Params property. I've assigned PAR2 a value
in the BeforeDelete event handler. In the monitor I see that DEL_REC
is executed, but the BeforeDelete event is not fired.