首页 > 解决方案 > 获取除结果之外的列名(oracle)

问题描述

我在 c#(asp.net 环境)中有一个动态运行 ORACLE 查询的程序。查询可以是:

select * from app_costumers;
select a.first_name, a.last name, b.salary from app_costumers inner join app_costs b on a.id = b.id;

(如您所见,这有时是关于一个表,有时是更多。有时写列名,有时只在“*”中使用)。

到目前为止,我只返回了结果,但现在我需要返回结果列的名称。

你知道怎么做吗?(我不能使用这样的东西:

SELECT column_name FROM user_tab_cols WHERE table_name = UPPER ('app_costumers');

因为它只适合一张桌子......)。

谢谢

标签: c#asp.netoracleselect

解决方案


您可以使用 reader.GetName(i),例如:

var reader = cmd.ExecuteReader();

var columns = new List<string>();

for(int i=0;i<reader.FieldCount;i++)
{
   columns.Add(reader.GetName(i));
}

推荐阅读