要采用回滚:请使用一下环境和语法
讲表缓冲设置为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

解决方案 »

  1.   

    我的方案供参考:
    ----------------------------------------------
    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是对的,我不过补充详细些。
      

  2.   

    TO:coolyylu(将来是我)
    谢谢你的帖子,可我要用的是SQL的回滚,不是VFP的回滚。
      

  3.   

    TO:net_steven(吃素的狼)
    我现在用的就是这种方法,可是我觉得比较笨,想找到些好的办法呀。谢谢你的贴子。
      

  4.   

    TO:coolyylu(将来是我)
    做个朋友,加我QQ:806555
      

  5.   

    谁说视图不支持事务!(关键使要获得视图的连接句病)
    sqlcn=CURSORGETPROP('ConnectHandle','view1')
    然后再采用“狼”的方法!哎,这年头,狼不吃荤了!
      

  6.   

    TO:ltltlt(67) 
    我说的是VFP上开始的事务用视图上载数据回滚不了。请看清梦问题。谢谢回贴!!!!!!!
      

  7.   

    to :vfp_database
       你要把问题弄清楚了才行.视图是支持回滚的.这个回滚当然包括数据更新(上传)等等.你指的是使用vfp上传文件吗?
      

  8.   

    to:coolyylu(将来是我)
       老大我说的是远程视图呀。不是本地视图。