c# - 获取除结果之外的列名(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');
因为它只适合一张桌子......)。
谢谢
解决方案
您可以使用 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));
}
推荐阅读
- sql - 人们在我们的服务器上尝试 SQL 注入攻击
- mongodb - 我们如何确定 mongodb 中是否已经存在用户名和电子邮件地址..?
- arrays - Angular - 在 Angular 11 中单独为循环内的每个项目触发功能
- batch-file - 使用 type 输出带有虚拟终端序列的 unicode 字符时,utf-8 Unicode 字符偶尔无法输出
- java - NetBean 和 Websphere 8.5
- ruby-on-rails - Rails:并行渲染复杂视图
- java - 每个 Web 用户是否应该在 Servlet 中单独连接到数据库,或者用户可以共享相同的连接引用?
- c++ - 在 std::thread 的移动分配中调用终止
- html - 下拉导航栏在被点击后不会关闭
- ios - 使用 floorf 与 floor