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

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

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

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


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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2021-09-17
  • 2022-02-05
  • 2021-09-17
  • 2022-12-23
  • 2021-10-13
猜你喜欢
  • 2021-06-20
  • 2021-05-27
  • 2021-11-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
相关资源
相似解决方案