要采用回滚:请使用一下环境和语法
讲表缓冲设置为5,即开放式表缓冲。可以使用语句dbsetpro("buffering",5,cTable),还有将set multilocks on 设置
如果返回.T.则表示设置成功。然后启用事务BEGIN TRANSACTION END TRANSACTION,J将要回滚的数据操作放在这个事务语句之间,还有要熟悉rollback,tableupdate(.t.)等语句,或者你使用passt来处理回滚,不过复杂一些,你可以查找sql开头的函数,进行参考。
关于第三层或者N-层的结构问题,建立com,com+,接着可以选择webservice发布。微软的webservice是建立在com,com+的基础上的。所以你要是使用vfp创建webservice的话请先学会创建com
例子如下:
define class cExaShowHello as relation OLEPUBLIC
&&(在vfp7建议使用session而不是relation,这样省内存,接口也简单一些)
&&定义com,com+的关键是使用OLEPUBLIC关键字
&&5条语句完成了一个com,而且如果你在vfp中使用,可以把它当成类用
function hello
return "hello world"
endfunc
enddefine
讲表缓冲设置为5,即开放式表缓冲。可以使用语句dbsetpro("buffering",5,cTable),还有将set multilocks on 设置
如果返回.T.则表示设置成功。然后启用事务BEGIN TRANSACTION END TRANSACTION,J将要回滚的数据操作放在这个事务语句之间,还有要熟悉rollback,tableupdate(.t.)等语句,或者你使用passt来处理回滚,不过复杂一些,你可以查找sql开头的函数,进行参考。
关于第三层或者N-层的结构问题,建立com,com+,接着可以选择webservice发布。微软的webservice是建立在com,com+的基础上的。所以你要是使用vfp创建webservice的话请先学会创建com
例子如下:
define class cExaShowHello as relation OLEPUBLIC
&&(在vfp7建议使用session而不是relation,这样省内存,接口也简单一些)
&&定义com,com+的关键是使用OLEPUBLIC关键字
&&5条语句完成了一个com,而且如果你在vfp中使用,可以把它当成类用
function hello
return "hello world"
endfunc
enddefine
----------------------------------------------
sqlcn=你的连接句柄
1、=SQLSETPROP(sqlcn, 'Transactions', 2)
2、=SQLEXEC(sqlcn,执行的SQL语句1,[返回结果集])
=SQLEXEC(sqlcn,执行的SQL语句2,[返回结果集])
... ...
其中任何一步失败就=SQLROLLBACK(sqlcn)
3、提交 transaction: n= SQLCOMMIT(sqlcn)
IF n<1
=SQLROLLBACK(sqlcn)
end
-------------------------------------------------------
通常用于保存诸如发票等具有一对多关系的情况,当然第2步可如coolyylu所言的开放式表缓冲方式。呵呵,coolyylu是对的,我不过补充详细些。
谢谢你的帖子,可我要用的是SQL的回滚,不是VFP的回滚。
我现在用的就是这种方法,可是我觉得比较笨,想找到些好的办法呀。谢谢你的贴子。
做个朋友,加我QQ:806555
sqlcn=CURSORGETPROP('ConnectHandle','view1')
然后再采用“狼”的方法!哎,这年头,狼不吃荤了!
我说的是VFP上开始的事务用视图上载数据回滚不了。请看清梦问题。谢谢回贴!!!!!!!
你要把问题弄清楚了才行.视图是支持回滚的.这个回滚当然包括数据更新(上传)等等.你指的是使用vfp上传文件吗?
老大我说的是远程视图呀。不是本地视图。