c#从sql查询字符串生成列的列表

时间:2013-10-17 13:29:44

标签: c# sql

我有一个简单的例程,它使用SELECT语句并使用DataTable

我使用相同的SELECT语句并将其传递给例程以生成列名和数据类型的数组。

只要SELECT语句很简单

例如SELECT Firstname,Secondname...等......

...我的例程可以将列信息添加到我的数组

但是,如果SELECT语句稍微复杂一些

e.g。 SELECT Firstname,Secondname AS Surname...等......

...我的例程会因为Surname不是列名而失败。

当您考虑子查询和聚合列时,可能会出现更多复杂性。

如果有人从SELECT声明中获取任何基本列名称,我正在寻找更优雅的方法吗?

2 个答案:

答案 0 :(得分:2)

您有一个DataTable.Columns属性,每个对象都是DataColumn,根据您所做的查询填充该对象。

因此,如果您在as语法中使用了SQL,那么您应该在该集合中找到相同的名称。

答案 1 :(得分:0)

您可以使用ExecuteReader执行查询。然后,您可以使用GetName()获取每个字段的名称。