分享

[转]VB.Net DataSet和DataTable

 昵称20646770 2015-01-07
        在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。

        ●

        注意如下 ado.net 关系: 
        Connection_____Command____DataAdapter____Dataset _____Datareader

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

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

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

        ●
        以下代码示例演示如何构造  DataSet  的实例。 
        Dim   cDS   As   DataSet   =   New   DataSet( "CustomerOrders ")

        ●

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

        Dim   cDS   As   DataSet   =   New   DataSet( "CustomerOrders ")

        Dim   ordersTable   As   DataTable   =   cDS.Tables.Add( "Orders ")

        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}       

        ●

        区分大小写 
        按名称引用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 "]来引用它。

         DataSet的CaseSensitive属性不影响此行为。CaseSensitive属性会应用于DataSet中的数据,它将影响排序、搜索、筛选、约束强制等。CaseSensitive属性不会影响对DataSet中表或关系的引用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多