我正在使用SqlDataAdapter.Fill从具有2列(如Column和COLUMN)的查询中检索数据。不幸的是,第二列作为Column_1插入到表中。我已经运行了这个快速测试,似乎数据表能够区分大小写,但adapter.fill没有提供给我。有没有办法强制adapter.fill这样做?
void Main()
{
DataTable table = new DataTable();
table.Columns.Add("Number", typeof(int));
table.Columns.Add("NUMBER", typeof(int));
table.Rows.Add(123, 123);
foreach(var column in table.Columns)
{
Console.WriteLine(column);
}
}
答案 0 :(得分:0)
根据.NET 2.0 - 4.5中DataColumnCollection的MSDN documentation,Add方法不区分大小写,并且假设在此方案中抛出DuplicateNameException。
来自DuplicateNameException
的例外部分:
该集合已有一个具有指定名称的列。 (该 比较不区分大小写。)
我不确定为什么它不会抛出记录的异常,但是文档与您看到的SqlDataAdapter行为相结合会表明它不适合您正在尝试的内容。