Sqlsetprop(han,"transactions",2) if tableupdate(2,.t.,"abc") and tableupdate(2,.t.,"xzy") && first returned .t. and second .f. ** Now manually disconnect to test . SQLdisconnect(han) ** tableupdate(2,.t.,"abc") actually commited the changes but SqlEXEC(han,"Begin Transaction") if tableupdate(2,.t.,"abc") and tableupdate(2,.t.,"xzy") && first returned .t. and second .f. ** Now manually disconnect to test . SQLdisconnect(han) ** did not commit the changes. ??I was surprised also to see that in the connection manual transaction the profiler showed something as @@trancount > 0 commit (Although i dont remember the exact but it rollforward the transactions where in it actually shouldnt.)