想问一个关于表更新的问题?

qg1977 2004-11-30 07:52:23
我用如下方式建立远程视图


CREATE CONNECTION warecon;
CONNSTRING "DRIVER=SQL Server;SERVER=fx;APP=Microsoft? VisualFoxPro?;DATABASE=feixiang;Trusted_Connection=Yes"

aa="create sql view "+ALLTRIM(names)+" remote connection warecon share as select * from "+ALLTRIM(names)

&aa

cursorsetprop("buffering",3)
cursorsetprop("sendupdates",.t.,"&names")

然后每当修改了远程视图后,都执行如下命令,以达到修改后台数据的目的,
m.lSuccess = TableUpdate(.T.,.F.)IF m.lSuccess

END TRANSACTION
     REQUERY()
else
messagebox( "抱歉,未提交上。请重做一次。" )
ROLLBACK
ENDIF

我想问的是,一般远程视图中只会增加或修改一条记录,当远程视图被修改后,执行更新命令时,系统是会只向后台更新被增加或修改的一条记录;还是会将整个远程视图中的数据全部反馈到后台数据库中将后台表中的数据覆盖?
因为我发现当一个命令中会修改几个表的数据时,系统会弹出"warecon很忙"的警告框,是否是因为以上我猜测的原因?是否直接用insert命令比较快?
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxmcxm 2004-12-08
  • 打赏
  • 举报
回复
1.要使创建的远程视图能更新数据,还必须用dbsetprop函数设置相关的参数
 如field 中的keyfield,与updatable参数(具体参看dbsetprop的帮助)
 视图才能将修改更新到sql server
2.对添加单条记录,效率应该相同。
 如果是把sql server中的一个表的记录copy到另一个表中上,那当然是用sqlexec快

gu1dai 2004-12-08
  • 打赏
  • 举报
回复
这个太深奥了。
qg1977 2004-12-05
  • 打赏
  • 举报
回复
??

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧