- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VFPSQLSERVER实例讲解4
VFP+SQL SERVER实例讲解4
[日期:2007-06-21] 来源:? 作者: [字体:大 中 小] KeyField,?.T.)DBSETPROP(VCustomers.CompanyName,?Field,?Updatable,?.T.)DBSETPROP(VCustomers.Phone,?Field,?Updatable,?.T.)DBSETPROP(VCustomers,?View,?SendUpdates,?.T.) DBSETPROP(VCustomers,?View,?WhereType,?3)*设定更新冲突解决方案为“关键字和已更新字段”DBSETPROP(VCustomers,?View,?UpdateType,?1)
*进程一USE?VCustomersBROWSE*将指针停留在第一条记录上,即:CustomerID=ALFKIREPLACE?Phone?with?123456*离开Visual?foxpro,千万别移动记录指针
进程二使用?sql?Server?的?Enterprise?Manager?打开?Customers表,把指针停在第一条记录上,修改Phone的值为00000,移动指针到下一条记录。
回到Visual?FoxPro,移动指针,您会看到图9:
图?9.更新冲突
按“还原”按钮。试验结束。
仔细想想,您就会明白什么是更新冲突了。
上例中,如果我们设定“关键字”方式检测更新冲突:
DBSETPROP(VCustomers,?View,?WhereType,?1)
其他均按原先步骤进行,您会发现没有更新冲突产生。因为Visual?FoxPro仅检测关键字是否变化,这里进程一、二都没有修改关键字,当然不会有更新冲突。
上例中,如果我们设定“关键字和可更新字段”方式检测更新冲突:
DBSETPROP(VCustomers,?View,?WhereType,?2)
其他均按原先步骤进行,这时会有更新冲突产生。因为Visual?FoxPro不仅检测关键字是否变化,还要检测所有的可更新字段字段(本例是所有字段)是否发生变化,这里进程二先进程一修改了可更新字段?Phone,进程一当然会有更新冲突发生。
如果使用?SQL?Server?的?Profiler?程序您能更好的了解以上内容:
图?10。?SQL?Server?的?Profiler?程序
1.使用“关键字段”冲突检测方式,发送更新时,Visual?FoxPro?自动生成以下语句在?SQL?Server?中执行:
sp_executesql?NUPDATE?dbo.Customers?SET?Phone=@P1?WHERE?CustomerID=@P2,?N@P1?nvarchar(24),@P2?varchar(50),?N123456?,?ALFKI?
可见,UPDATE?的?WHERE?子句只包括关键字段:CustomerID。在Visual?FoxPro?缓冲中?CustomerID=ALFKI,Visual?FoxPro?就以这个值作为数据源是否发生改变的依据。如果?SQL?Server执行这条UPDATE语句时找不到CustomerID=ALFKI的记录(我们认为是其它用户先期修改了CustomerID)——SQL?Server?告诉?Visual?FoxPro?更新冲突发生了。?
2.使用“关键字和可更新字段”冲突检测方式,发送更新时,Visual?FoxPro?自动生成以下语句在?SQL?Server?中执行:
sp_executesql?NUPDATE?dbo.Customers?SET?Phone=@P1?WHERE?CustomerID=@P2?AND?CompanyName=@P3?AND?Phone=@P4,?N@P1?nvarchar(24),@P2?varchar(50),@P3?nvarchar(40),@P4?nvarchar(24),?N123456?,?ALFKI,?NAlfreds?Futterkiste?,?N030-0074321??
可见,UPDATE?的?WHERE?子句包括关键字段:CustomerID,和所有可更新字段:CompanyName、Phone。Visual?FoxPro?缓冲中CustomerID=ALFKI、CompanyName=Alfreds?Futterkiste、Phone=030-0074321,如果?SQL?Server执行这条UPDATE语句时找不到(CustomerID=ALFKI?AND?CompanyName=Alfreds?Futterkiste?AND?Phone=030-0074321)的记录(我们认为是其它用户先
您可能关注的文档
最近下载
- 四年级数学上册(人教版)周周练(附答案).pdf VIP
- 水利工程软件:MIKE二次开发_(4).MIKE11模块介绍.docx VIP
- UL1557标准中文版-2018半导体UL中文版标准.docx
- 国民经济行业分类 .pdf VIP
- 7-中国石化动土作业安全管理规定(中国石化制〔2022〕14 号).pdf VIP
- 富平县林业发展十五五规划定稿2.docx
- 2023届高考地理二轮复习课件微专题3大气的水平运动——风.pptx VIP
- 领导干部政治理论考试100题及答案.doc VIP
- 人教B版高中数学选择性必修第一册1-1-1空间向量及其运算课件.ppt VIP
- 慢性心力衰竭及药物治疗.pptx VIP
文档评论(0)