zoukankan      html  css  js  c++  java
  • 多表查询与多记录删除

    这几天一直没有事做。就在看一些资料,Form的。ASP的。还有SQL的资料。什么都看。什么都是一知半解。却又什么都感兴趣。心里面实在是郁闷的很。没有事做。就先积累知识吧,也就在自己的BLOG上面留些知识

    1、在SQL的环境中。在同一语句中无论发出几条几条命令,都是有一个数据包发送到服务器的。这一点可以用SqlConnection的RetrieveStatistics集合中看到结果。
          所以在B/S环境下。如果涉及到读取多个表的数据我们就可以将Sqlcommand的CommandText写成如下形式:
         Select FieldList from SourthTable1;
         Select FieldList from SourthTable2;
         .............
    这样通过这个查询生成的SqlDataReader或者SqlDataAdapter就会包括了几个表,减少了与服务器的通讯,节省了系统资源。

    SqlDataReader在多表查询情况下,通过NextResult属性来跳转到下一个查询结果表:

    do  SqlDataReader.Read()
    {
    ............
    }Until SqlDataReader.NextResult()

    SqlDataAdapter在依据多表查询的Command和Connection对像建立。执行Fill(SomeTable)以后。会基于提供的表名。生成一系列的如SomeTable1,SomeTable2的表,在实际的使用过程中。我们在使用前须要对它们进行改名。
    SqlDataAdapter.TableMapping[0].Name="ElseTable";
    .........

    多条记录删除:
    Delete from SomeTable where PrimaryKey in (some valuelist......),这样做的好处,也是以减少与SQL服务器的回程为基础的,如果一项操作操作执行的频繁,而且只是针对某个字段进行的操作,我们可以将其操作缓存下来。到了一定的数量再发送。


  • 相关阅读:
    败家MM
    Lucene.Net
    罗氏制药事件
    关于request编码的问题
    昨天做了个站内全文搜索
    有时间研究 ror框架,ProMesh.NET: 开源的.net MVC框架
    DotLucene搜索引擎Demo之:创建索引
    超低密度SiO2气凝胶的制备及成型研究
    使用System.out.print/prilntln() 输出时存在的问题
    对C++对象实例化的测试
  • 原文地址:https://www.cnblogs.com/xxm/p/376023.html
Copyright © 2011-2022 走看看