VFP+SQLSERVER实例讲解4

VFP+SQLSERVER实例讲解4

ID:40582181

大小:39.50 KB

页数:3页

时间:2019-08-04

VFP+SQLSERVER实例讲解4_第1页
VFP+SQLSERVER实例讲解4_第2页
VFP+SQLSERVER实例讲解4_第3页
资源描述:

《VFP+SQLSERVER实例讲解4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VFP+SQLSERVER实例讲解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",

2、 "WhereType", 3)*设定更新冲突解决方案为“关键字和已更新字段”DBSETPROP("VCustomers", "View", "UpdateType", 1)*进程一USE VCustomersBROWSE*将指针停留在第一条记录上,即:CustomerID='ALFKI'REPLACE Phone with '123456'*离开Visual foxpro,千万别移动记录指针进程二使用 sql Server 的 Enterprise Manager 打开 Customers表,把指针停在第一条记录上,修改

3、Phone的值为'00000',移动指针到下一条记录。回到Visual FoxPro,移动指针,您会看到图9:图 9.更新冲突按“还原”按钮。试验结束。仔细想想,您就会明白什么是更新冲突了。上例中,如果我们设定“关键字”方式检测更新冲突:DBSETPROP("VCustomers", "View", "WhereType", 1)其他均按原先步骤进行,您会发现没有更新冲突产生。因为Visual FoxPro仅检测关键字是否变化,这里进程一、二都没有修改关键字,当然不会有更新冲突。上例中,如果我们设定“关键字和可更新字段”方

4、式检测更新冲突:DBSETPROP("VCustomers", "View", "WhereType", 2)其他均按原先步骤进行,这时会有更新冲突产生。因为Visual FoxPro不仅检测关键字是否变化,还要检测所有的可更新字段字段(本例是所有字段)是否发生变化,这里进程二先进程一修改了可更新字段 Phone,进程一当然会有更新冲突发生。如果使用 SQL Server 的 Profiler 程序您能更好的了解以上内容:图 10。 SQL Server 的 Profiler 程序1.使用“关键字段”冲突检测方式,发送更新

5、时,Visual FoxPro 自动生成以下语句在 SQL Server 中执行:sp_executesql N'UPDATE dbo.Customers SET Phone=@P1 WHERE CustomerID=@P2', N'@P1 nvarchar(24),@P2 varchar(50)', N'123456 ', 'ALFKI' 可见,UPDATE 的 WHERE 子句只包括关键字段:CustomerID。在Visual FoxPro 缓冲中 CustomerID='ALFKI',Visual FoxPro 就

6、以这个值作为数据源是否发生改变的依据。如果 SQL Server执行这条UPDATE语句时找不到CustomerID='ALFKI'的记录(我们认为是其它用户先期修改了CustomerID)——SQL Server 告诉 Visual FoxPro 更新冲突发生了。 2.使用“关键字和可更新字段”冲突检测方式,发送更新时,Visual FoxPro 自动生成以下语句在 SQL Server 中执行:sp_executesql N'UPDATE dbo.Customers SET Phone=@P1 WHERE Custom

7、erID=@P2 AND CompanyName=@P3 AND Phone=@P4', N'@P1 nvarchar(24),@P2 varchar(50),@P3 nvarchar(40),@P4 nvarchar(24)', N'123456 ', 'ALFKI', N'Alfreds Futterkiste ', N'030-0074321 ' 可见,UPDATE 的 WHERE 子句包括关键字段:CustomerID,和所有可更新字段:CompanyName、Phone。Visual FoxPro 缓冲中Cust

8、omerID='ALFKI'、CompanyName='Alfreds Futterkiste'、Phone='030-0074321',如果 SQL Server执行这条UPDATE语句时找不到(CustomerID='ALFKI' AND CompanyName='Alfreds Futterkis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。