扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍“如何使用ADO.NET操作”,在日常操作中,相信很多人在如何使用ADO.NET操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用ADO.NET操作”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
我们提供的服务有:成都网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、上饶ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的上饶网站制作公司
ADO.NET操作都可能产生一个或多个提供者错误。随着每个错误的发生这是因为现在数据是顺序返回的,并且DataReader一旦读过该数据,该数据就不再可用。
使用CommandBuilder的***实践
假设SelectCommand执行单一表SELECT,CommandBuilder就会以DataAdapter的SelectCommand属性为基础自动生成DataAdapter的InsertCommand、UpdateCommand、和DeleteCommand属性。下面是为获得***性能而使用CommandBuilder的一些技巧。
1) CommandBuilder的使 ADO.NET操作用应该限制在设计时或即席方案中。生成DataAdapter命令属性所必需的处理会影响性能。如果预先知道INSERT/UPDATE/DELETE语句的内容,就显式设置它们。一个比较好的设计技巧是,为INSERT/UPDATE/DELETE命令创建存储过程并显式配置DataAdapter命令属性以使用它们。
2) CommandBuilder使用DataAdapter的SelectCommand属性确定其他命令属性的值。如果DataAdapter的SelectCommand本身曾经更改过,确保调用RefreshSchema以更新命令属性。
3) 如果DataAdapter命令属性为空(命令属性默认情况下为空),CommandBuilder仅仅为它生成一条命令。如果显式设置了命令属性,CommandBuilder不会重写它。如果希望CommandBuilder为以前已经设置过 ADO.NET操作的命令属性生成命令,就将命令属性设置为空。
批处理SQL语句
很多数据库支持将多条命令合并或批处理成一条单一命令执行。例如,SQL Server使您可以用分号“;”分隔命令。将多条命令合并成单一命令,能减少到服务器的行程数,并提高应用程序的性能。例如,可以将所有预定的删除在应用程序中本地存储起来,然后再发出一条批处理命令调用,从数据源删除它们。
虽然这样做确实能提高性能,但是,当 ADO.NET操作对DataSet中的数据更新进行管理时,可能会增加应用程序的复杂性。要保持简单,可能要在DataSet中为每个DataTable创建一个DataAdapter。
用多个表填充DataSet
如果使用批处理SQL语句检索多个表并填充DataSet,***个表用指定给Fill方法的表名命名。 ADO.NET操作后面的表用指定给Fill方法的表名加上一个从1开始并且增量为1的数字命名。例如,如果运行下面的代码。
用DataReader检索二进制大对象(BLOB)时,应该将CommandBehavior.SequentialAccess传递给ExecuteReader方法调用。因为DataReader的默认行为是每次Read都将整行加载到内存,又因为BLOB值可能非常大,所以结果可 ADO.NET操作能由于单个BLOB而使大量内存被用光。SequentialAccess将DataReader的行为设置为只加载请求的数据。然后还可以使用GetBytes或GetChars控制每次加载多少数据。
到此,关于“如何使用ADO.NET操作”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流