首页 > 解决方案 > 在c#中使用bigquery API时如何获取sql查询的列名

问题描述

标题说这一切都是我的代码我找不到任何方法我可以打印行并且我必须指定列名但我找不到获取所有列名的方法 bigquery api 不返回列名和结果?

这是我到目前为止的代码如何打印所有列名?

static void Main(string[] args)
        {
            List<string> rows = new List<string>();
            string projectId = "project-id 123";
            var client = BigQueryClient.Create(projectId);
            string sql = @"SELECT * FROM table";
            var res = client.ExecuteQuery(sql, parameters: null);

            foreach (var row in res)
                Console.WriteLine(row["id"])
                //rows.Add(row["id"])
        }

标签: c#sqlapigoogle-bigquery

解决方案


您正在迭代BigQueryRow项目。

BigQueryRow 类包含一个包含 ETag 的 Table 行。ETag 可以是列名。

BigQueryRow 类

在此处输入图像描述

TableRow 类

在此处输入图像描述

您必须在每次迭代时访问 ETag。

试试这个代码

List<string> rows = new List<string>();
            string projectId = "project-id 123";
            var client = BigQueryClient.Create(projectId);
            string sql = @"SELECT * FROM table";
            var res = client.ExecuteQuery(sql, parameters: null);
            
            foreach (var row in res)
            {
                Console.WriteLine(row.RawRow.ETag);
            }

推荐阅读