知识大全 掌握ADO.NET的十个热门技巧[2]
Posted 知
篇首语:仰天大笑出门去,我辈岂是蓬蒿人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 掌握ADO.NET的十个热门技巧[2]相关的知识,希望对你有一定的参考价值。
掌握ADO.NET的十个热门技巧[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
运用具有BLOB字段的ExecuteXmlReader用于SQL Server的 NET数据提供者(data provider)使用了数据库提供的XML扩展名 并提供了一个额外的方法(ExecuteXmlReader)来执行查询 命令对象上的所有的执行者(例如ExecuteReader和ExecuteScaler)都采用不同的方法来得到结果集 ExcecuteReader通过一个托管指针(managed cursor)(data reader)来返回数据 而ExecuteScaler返回结果集中的第一个值 把它作为一个标量值 ExecuteXmlReader执行查询 并返回已经绑定到一个XmlTextReader对象的基于XML的输出流 通过这种方式 你就不需要做额外的工作来以XML的方式加工数据了 要实现这一点 查询字符串必须返回XML数据 对SQL Server来说 当查询字符串包含一个FOR XML子句时 就可以实现它 尽管这只是一种可能 一个不太为人所知的情况是 要使ExecuteXmlReader工作 让结果集包含XML数据就足够了 下面的查询方法很好 只要列包含XML格式的文本就行 SELECT data FROM table WHERE key= 这个列是个典型的BLOB或ntext字段 其文本显示为XML 简要地看看ExecuteXmlReader方法的内部结构会有助于我们的理解 该方法用ExecuteReader来执行查询 并从数据提供者得到一个数据流对象 接下来 它将数据流绑定到XmlTextReader类的一个新创建的实例上 这个实例被返回给调用者 连接一直处于忙碌状态 直到XML reader停止工作 SQL Server提供者是唯一的提供者 它提供了方法让我们从一个XML reader直接读取数据 但这种做法更多的是与提供者有关 而与数据库性能的关系并不大 Oracle支持XML查询 但Oracle的数据提供者并不支持XML查询 相比之下 为OLE DB数据提供者编写一个ExecuteXmlReader方法并不难(点此下载实例) 不要设法缓存一个DataView
DataSet和DataTable对象是唯一的包含数据的ADO NET对象 DataView是一个不能串行化的 轻量级的类 它只代表构建在一个表上的视图(view) 你可以根据一个表达式或行的状态来过滤视图 许多应用程序都需要你管理数据视图并将它们绑定到数据控件上 如Windows和Web DataGrid控件 一个DataView对象不能缓存数据 它只是缓存了与当前过滤器相匹配的基本的表中的行的索引 缓存索引的顺序与当前的排序表达式一致 缓存DataView而不缓存基本的DataTable是不行的 例如 提供分页(比如通过运用DataGrid控件)的ASP NET应用程序通常以一个DataView对象结尾 因为它支持排序和过滤 在有些情况下(大多是基于性能的原因) 你可能决定要缓存数据源 要缓存的对象不能是DataView(它是你实际绑定的对象) 一个DataView只是一种索引 如果没有基本的DataTable对象 它是没有用的
运用Find来读取一个记录
通过运用DataTable的Select方法来运行一个内存中的查询 或在视图上设置一个过滤器来滤掉与指定标准不匹配的所有的记录 你就可以读取一个DataTable对象中的一个特定的行了 你可以通过设置DataView类上的RowFilter属性来设置一个过滤器 这两种方法都运用相同的引擎来选择记录 它们可以接纳一个表达式 对它进行解析并求各个子句的值 DataTable的Select方法返回一个带有所有相匹配的DataRow对象的数组 RowFilter属性重建DataView的内部索引来包含所有的(且仅包含)匹配的记录 然后 应用程序就可以访问记录了 这两种方法在性能上几乎是一样的 运用哪种方法取决于环境和个人喜好 例如 如果你用的是数据绑定的控件 如一个DataGrid或DataList 那么RowFilter就很理想 如果你必须处理一串记录 那么Select方法就更好了
然而 你还可以用另一种方法(仍然是基于DataView的) 它是读取一个表中的记录的最快的方法 该方法就是用Find
Dim view As DataView view = New DataView(table) view Sort = orderid Dim index As Integer = view Find( ) Dim row As DataRow = view(index) RowFind方法运用了视图的当前索引 并将指定的值(或多个值)与形成当前索引的字段匹配起来 在前面的代码中 值 与列orderid匹配 如果Sort属性为空 且DataTable对象有一个主键 那么就运用主键中的列 Find方法返回的是相匹配的第一行的基于 的位置的值 果你想返回多个记录 可以用FindRows的演变形式
view Sort = orderid discount Dim keys( ) As Object keys( ) = keys( ) = Dim row As DataRow = _ view(view Find(keys)) Row前面的代码可以让你通过运用Find的重载方法(带有一组对象)来匹配多个列的值
cha138/Article/program/net/201311/15154相关参考
掌握ADO.NET的十个热门技巧[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 对于Wi
掌握ADO.NET的十个热门技巧[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 尽可能用预
程序员要掌握的十个JSP中的标签库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JSP最容易忽
农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于
农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于
农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于
农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于
实现人生目标的十个理由1、为了帮别人。2、为了自己。3、报答父母。4、报答帮助过你的人。5、不辜负别人的期望。6、不让为这件事情死的人白死。7、为了整个社会。8、为了这个世界。9、让自己活的有意义。1
世界上环境最好的十个国家最佳居住地排名前十位国家1挪威2瑞典3澳大利亚4加拿大5荷兰6比利时7冰岛8美国9日本10爱尔兰全球最适合人类居住的国家和城市前十名名次城市名称所在国家1墨尔本澳大利亚1温哥华
1、施肥时间。放苗(鱼苗、虾蟹苗)前7~15天,水温升至15℃,池塘水体消毒后,一次性施足基肥;水温升至20~30℃,视水质清瘦施追肥;30℃以上应停施、少施肥料;2、施肥量。基肥,瘦水塘或新开挖塘,