zoukankan      html  css  js  c++  java
  • DataSet 的 Tables 属性对表名大小写敏感性的解惑[翻译]

    [很久之前做的一点翻译,原文出处已经忘了]

    在一个 DataSet 中,大小写敏感似乎只是针对于数据而非架构。

    在一个 DataSet 中,表名和列名默认情况下是大小写不敏感的。也就是说,在 DataSet 中一个叫做“Customer”的表,也可以被叫做“customer”,这符合大多数数据库的命名约定,包括 Sql Server 的默认情况下。而数据元素的名字只有在如下情况下才无法区分,仔细看看下面的代码:

     1DataSet ds = new DataSet();
     2
     3DataTable t1 = new DataTable("ABC");
     4
     5DataTable t2 = new DataTable("abc");
     6
     7ds.Tables.Add(t1);
     8
     9bool b1 = ds.Tables.Contains("Abc");
    10
    11// 返回 true, 大小写不敏感
    12
    13DataTable t3 = ds.Tables["Abc"]; 
    14
    15// 返回 ABC 
    16
    17ds.Tables.Add(t2);
    18
    19bool b2 = ds.Tables.Contains("ABC"); // true 
    20
    21bool b3 = ds.Tables.Contains("abc"); // true 
    22
    23bool b4 = ds.Tables.Contains("Abc"); // 现在返回 false -- 现在大小写敏感了  
    24
    25DataTable t4 = ds.Tables["ABC"]; // ok 
    26
    27DataTable t5 = ds.Tables["abc"]; // ok 
    28
    29// 这会抛出异常 DataTable t6 = ds.Tables["Abc"]
    30
    31


      由此可见,默认情况下,表名是大小写不敏感的,但是当集合中出现仅有大小写不同的表名时,表名就会变成大小写敏感(似乎很智能啊),这个规则也同样适用于 DataColumn, DataRelation and Constrains。

    理解的越多,需要记忆的就越少
  • 相关阅读:
    [省选联考 2020 A 卷] 组合数问题
    [HAOI2018]苹果树
    [集训队作业2013]城市规划
    多项式牛顿迭代
    多项式开方
    分治 FFT 模板的三种过法
    Graham 求静态凸包
    exp 初探
    HAOI2018 染色
    如何关闭wps热点,如何关闭wpscenter,如何关闭我的wps
  • 原文地址:https://www.cnblogs.com/Ricky81317/p/601011.html
Copyright © 2011-2022 走看看