>Charles, I think is better to grab the PK in the same command as the insert with the OUTPUT clause of the insert. Something like
>
>
>text to lcSQL textmerge noshow flags 1 pretext 1 + 2 + 4
> INSERT INTO yourTable
> (
> yourFieldList
> )
> OUTPUT Inserted.yourPrimaryKey
> VALUES
> (
> yourValuesList
> )
>endtext
>llSuccess = Sqlexec(lnConnection, lcSQL, 'c_pk') = 1
>lnNewPK = Iif(not llSuccess or Eof('c_pk') or c_pk.pk = 0, null, c_pk.pk) && Assuming PK is your primary key field name
>
Thank you. i like that as I intend to make this a mod in my VFE framework and that might be the cleanest solution. And it definitely addresses the issue of getting it all inside an implicit transaction which is what I think I prefer for message passing in the event of a rollback on the backend.
I'll give that a try and report back.
Charles Hankey
Though a good deal is too strange to be believed, nothing is too strange to have happened.
- Thomas Hardy
Half the harm that is done in this world is due to people who want to feel important. They don't mean to do harm-- but the harm does not interest them. Or they do not see it, or they justify it because they are absorbed in the endless struggle to think well of themselves.
-- T. S. Eliot
Democracy is two wolves and a sheep voting on what to have for lunch.
Liberty is a well-armed sheep contesting the vote.
- Ben Franklin
Pardon him, Theodotus. He is a barbarian, and thinks that the customs of his tribe and island are the laws of nature.