会员注册 | 登录 | 微信快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

外文翻译--Visual Studio .NET如何为并发控制生成SQL语句.doc外文翻译--Visual Studio .NET如何为并发控制生成SQL语句.doc -- 5 元

宽屏显示 收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

理学院毕业论文第1页/共12页英文翻译VisualStudio.NET如何为并发控制生成SQL语句翻译翟靖轩原作者SteveSteinVisualStudioTeamMicrosoftCorporation2002年2月摘要这篇文章研究VisualStudio®.NET为不同的并发控制方式所产生的SQL语句,如何对它们进行修改可以提高执行效率,以及如何生成不带并发控制的SQL语句。目录引言阅读此文章时应具备的一些知识生成的SQL语句在哪里并发与数据适配器DataAdapter优化生成的SQL语句并发与CommandBuilder对象结论引言任何可能同时被多个用户访问或修改数据的应用程序,都需要进行并发控制。否则,一个用户更改记录时可能不经意的覆盖了其他用户的更改。VisualStudio.NET的设计工具可以生成保持所有值方式的开放式并发SQL语句或生成最后的更新生效方式的SQL语句来更新数据。这篇文章将解释不同的SQL语句是如何生成的如何修改自动生成的SQL语句可以提高执行效率阅读此文章时应具备的一些知识理学院毕业论文第2页/共12页你需要具备以下知识基本的ADO.NET概念,包括数据集DataSet以及数据适配器DataAdapters。更多信息请参见ADO.NET数据访问介绍(IntroductiontoDataAccesswithADO.NET)。数据并发机制以及会操作VisualStudio.NET。更多内容请参见介绍ADO.NET中的数据并发IntroductiontoDataConcurrencyinADO.NET)。自动生成的SQL语句在哪里自动生成的SQL语句在command对象的CommandText属性里。在设计阶段配置DataAdapter对象时或使用CommandBuilder对象时SQL命令被自动生成。更多信息,请参见并发与CommandBuilder对象(ConcurrencyandCommandBuilderObjects)。配置DataAdapter对象从工具箱的数据选项卡中拖一个DataAdapter对象从服务器资源管理器拖一个数据表选中已有的DataAdapter对象,然后单击在属性窗口底部的配置数据适配器链接CommandBuilder对象CommandBuilder对象在运行时刻被创建,更多信息请参阅SqlCommandBuilder或OleDbCommandBuilder。并发控制与数据适配器DataAdapter使用数据适配器配置向导配置数据适配器时,你可以选择是否使用开放式并发来生成Update和Delete语句。一些思考和注意事项你的数据源必须有一个主键才能以开放式并发方式生成SQL语句当使用从服务器资源管理器拖放一个数据表的方式来创建DataAdapter对象时,DataAdapter对象自动生成基于开放式并发的Update和Delete语句。如果你不想使用开放式并发,右击DataAdapter对象,从快捷菜单中选择配置数据适配器,然后在高级SQL生成选项对话框中清除使用开放式并发选项的选定。向导则会重新创建不带并发检测的SQL语句。理学院毕业论文第3页/共12页当重新配置现有的DataAdapter时,应注意高级SQL生成选项对话框里的选项已经全部恢复默认。例如最初配置DataAdapter时没有选定使用开放式并发选项,但是当重新配置DataAdapter时,使用开放式并发选项却会被选定,即便你根本没有打开过高级SQL生成选项对话框。如果你在数据适配器配置向导的选择查询类型页面选择使用现有的存储过程,则使用开放式并发选项将不可用。存储过程仍按其原来的方式执行。如果想使用并发检测的话,必须将其包括到存储过程中、或在你的应用程序中编写相应的代码。当使用开放式并发来创建SQL命令时,不会对二进制数据列验证进行并发处理。这将导致用这种方法对大的二进制记录集执行按位比较算法时的效率低下。用向导生成SQL语句为了理解VisualStudio.NET如何使用开放式并发来生成SQL语句,让我们来看看用数据适配器配置向导生成的Update语句。我们将查看同一条语句在选择使用开放式并发选项和不选择使用开放式并发选项时的不同状态。你会注意到,选择开放式并发与不选择开放式并发所生成SQL语句的区别只存在于Where子句上。注以下的例子使用用数据适配器配置向导生成的Update语句,并从NorthWind示例数据库的Customers表中选择了若干列。使用开放式并发的Update语句这个例子使用了数据适配器配置向导的默认配置,即选中了使用开放式并发选项。注当使用开放式并发时,生成的command的参数集里还存在一个参数副本。第二个参数集(带Original_前缀的那个)保存了最初从数据源里读取的值。检查Where子句发现,每一个生成的语句都要检测数据库当前的值是否等于最初读取的值(例,WHERECityOriginal_City)。通过数据库中的每个字段与最初读取的值相比较,我们很容易确定是否同时有其他用户修改了某个字段。如果Where子句不成立,就没有记录会被修改,与此同时还引发了一个数据库并发异常。如果数据源的某个字段为理学院毕业论文第4页/共12页空值(NULL),生成的SQL语句同样验证最初读取的记录是否也为空值。UPDATECustomersSETCustomerIDCustomerID,CompanyNameCompanyName,ContactNameContactName,ContactTitleContactTitle,CityCityWHERECustomerIDOriginal_CustomerIDANDCityOriginal_CityOROriginal_CityISNULLANDCityISNULLANDCompanyNameOriginal_CompanyNameANDContactNameOriginal_ContactNameOROriginal_ContactNameISNULLANDContactNameISNULLANDContactTitleOriginal_ContactTitleOROriginal_ContactTitleISNULLANDContactTitleISNULLSELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERECustomerIDCustomerID不使用开放式并发的Update语句这个例子更改了数据适配器配置向导的高级选项,没有选中使用开放式并发选项。以下的语句表明只要数据库中一条记录满足CustomerIDOriginal_CustomerID,则所有的字段都会被更新。不管这条记录现在是什么样的值,它都将被设置为通过SQL语句传递到数据源的值。在这里没有任何关于并发的检测,也无法得知是否同时有其它用户在更改这条记录。这种方式称为最后的更新生效方式。无论以前对这条记录进行过什么样的修改,更新操作都会执行。UPDATECustomersSETCustomerIDCustomerID,CompanyNameCompanyName,ContactNameContactName,ContactTitleContactTitle,CityCityWHERECustomerIDOriginal_CustomerIDSELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERECustomerIDCustomerID优化生成的SQL语句VisualStudio.NET生成保持所有值方式的SQL语句来实现开放式并发。虽然这可能没有生成最高效的SQL语句,但是它的却生成了可以对数据源所有列(包括主键)进行并发检测的SQL语句。使用保持所有值方式实现开放式并发,当执行效率非常低下时,你可以手工修改生成的SQL语句以使它们不检查数据源的所有列。最常见
编号:201311171105295696    大小:69.99KB    格式:DOC    上传时间:2013-11-17
  【编辑】
5
关 键 词:
教育专区 外文翻译 精品文档 外文翻译
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

当前资源信息

4.0
 
(2人评价)
浏览:15次
英文资料库上传于2013-11-17

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

相关资源

相关资源

相关搜索

教育专区   外文翻译   精品文档   外文翻译  
关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5