>>lccon = [DRIVER=SQL Server Native Client 10.0;Server=nagaveni\sql2008;Trusted_Connection=Yes] >>han = SQLSTRINGCONNECT(lccon) >> >>SQLEXEC(han,"create table #foo (f1 int,f2 char(20))") >>SQLEXEC(han,"select * from #foo ",'foo') >>CURSORSETPROP([Buffering], 5, [Foo]) >> >>CURSORSETPROP("Tables","#foo","foo") >>CURSORSETPROP("UpdateNameList", "f1 #foo.f1, f2 #foo.f2") >>CURSORSETPROP("KeyFieldList", "F1") >>CURSORSETPROP("UpdatableFieldList", "f1,f2") >>CURSORSETPROP("SendUpdates", .T.) >> >>FOR m.xi = 65 TO 90 >> INSERT INTO foo VALUES (m.xi,REPLICATE(CHR(m.xi),10)) >>ENDFOR >> >>SQLSETPROP(han,"Transactions",2) >>SQLEXEC(han,"BEGIN TRANSACTION") >> >>IF TABLEUPDATE(.t.,.t.,"foo",fooerror) >> Messagebox("records with Begin transaction and SQLSETprop transaction") >> SQLEXEC(han,"select * from #foo ",'foo1') >> brow >> >> SQLSETPROP(han,"Transactions",1) >> Messagebox("records with Begin transaction ") >> SQLEXEC(han,"select * from #foo ",'foo1') >> brow >> >> SQLEXEC(han,"ROLLBACK TRANSACTION") >> Messagebox("records with ROLLBACK TRANSACTION") >> SQLEXEC(han,"select * from #foo ",'foo1') && EMPTY result >> brow >>ELSE >> DISPLAY MEMORY LIKE fooerror >>ENDIF >>>
>lccon = [DRIVER=SQL Server Native Client 10.0;Server=nagaveni\sql2008;Trusted_Connection=Yes] >han = SQLSTRINGCONNECT(lccon) > >SQLEXEC(han,"create table #foo (f1 int,f2 char(20))") >SQLEXEC(han,"select * from #foo ",'foo') >CURSORSETPROP([Buffering], 5, [Foo]) > >CURSORSETPROP("Tables","#foo","foo") >CURSORSETPROP("UpdateNameList", "f1 #foo.f1, f2 #foo.f2") >CURSORSETPROP("KeyFieldList", "F1") >CURSORSETPROP("UpdatableFieldList", "f1,f2") >CURSORSETPROP("SendUpdates", .T.) > >FOR m.xi = 65 TO 90 > INSERT INTO foo VALUES (m.xi,REPLICATE(CHR(m.xi),10)) >ENDFOR > >SQLSETPROP(han,"Transactions",2) >SQLEXEC(han,"BEGIN TRANSACTION") > > >IF TABLEUPDATE(.t.,.t.,"foo",fooerror) > > Messagebox("records with Begin transaction and SQLSETprop transaction") > SQLEXEC(han,"select * from #foo ",'foo1') > brow > > SQLCOMMIT(han) && encountered commit here > Messagebox("records after SQL commit ") > SQLEXEC(han,"select * from #foo ",'foo1') > brow > > SQLSETPROP(han,"Transactions",1) > Messagebox("records after SQlsetprop to automatic ") > SQLEXEC(han,"select * from #foo ",'foo1') > brow > >* now will this be rolled back ? No > SQLEXEC(han,"ROLLBACK TRANSACTION") > Messagebox("records after ROLLBACK TRANSACTION") > SQLEXEC(han,"select * from #foo ",'foo1') > brow > >ELSE > DISPLAY MEMORY LIKE fooerror >ENDIF > > >>