zoukankan      html  css  js  c++  java
  • .Net 中DataSet和DataTable的 区别与联系


    1、简要说明二者关系

           在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。
           ●注意如下 Ado.net 关系: 
            Connection_____Command____DataAdapter____Dataset  _____Datareader

           ● DataSet 是放在内存中的,对DataSet中数据的修改并不直接反应到数据库,要通过 DataAdapter 的 Update 方法更新回数据库

           ● DataSet相当你用的数据库; DataTable相当于你的表。一个 DataSet 可以包含多个 DataTable

        DataSet 由表、关系和约束的集合组成。在 ADO.NET 中,DataTable对象用于表示 DataSet 中的表。DataTable 表示一个内存内关系数据的表;

    2.以下代码示例演示如何构造DataSet ,DataTable 的实例关系。 


     Dim   Ds   As   DataSet   =   New   DataSet( "enUser ")


    以下示例构造一个 DataSet,将一个新的   DataTable  对象添加到该   DataSet  中,然后将三个   DataColumn  对象添加到该表中。最后,该代码将一个列设置为主键列。

       Dim   Ds   As   DataSet   =   New   DataSet( "enUser ")
            Dim   ordersTable   As   DataTable   =   Ds.Tables.Add( "enUser ")
            Dim   pkCol   As   DataColumn   =   ordersTable.Columns.Add( "OrderID ",   Type.GetType( "System.Int32 "))
            ordersTable.Columns.Add( "OrderQuantity ",   Type.GetType( "System.Int32 ")) 
            ordersTable.Columns.Add( "CompanyName ",   Type.GetType( "System.String "))
            ordersTable.PrimaryKey   =   New   DataColumn()   {pkCol}
    


     

    3. DataSet中Table1、table1的大小写关系

            按名称引用DataSet中的表和关系是区分大小写的。一个DataSet 中可以存在两个或更多个名称相同但大小写不同的表或关系。例如,可以有   Table1   和   table1。在这种情况下,对其中一个表的按名称引用必须精确匹配该表名称的大小写,否则会引发异常。例如,如果   DataSet   myDs 包含表  Table1   和   table1,则会按名称将   Table1   当作   myDS.Tables[ "Table1"]   来引用,而将   table1   当作   myDS.Tables   ["table1 "]   来引用。如果试图将其中任一个表当作   myDS.Tables   ["TABLE1 "]   来引用,则会生成异常。

    如果只存在一个具有特定名称的表或关系,则区分大小写规则不适用。也就是说,如果 DataSet 中没有其他任何表或关系对象匹配该特定表或关系对象的名称,那么即使大小写不同,仍可以按采用任何大小写的名称来引用该对象,而不会引发异常。例如,如果   DataSet   只包含   Table1,则可以使用   myDS.Tables[ "TABLE1"]   来引用它。


    以上是对.Net 中DataSet和DataTable的 区别与联系的总结,如有不足之处,还请批评与指教。

  • 相关阅读:
    tomcat指定运行jdk
    阿里技术面试1
    关于eclipse配置tomcat时,console打印成功消息,但是不能成功访问页面的问题
    websocket需要tomcat8.5.8以上版本才支持
    记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject
    曾国藩的修身之道
    @Param的用法和作用
    java集合性能
    springmvc映射html文件以及解决乱码问题
    【redis】--配置
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3243936.html
Copyright © 2011-2022 走看看