在c#中使用bigquery API时获取sql查询的列名

Posted

技术标签:

【中文标题】在c#中使用bigquery API时获取sql查询的列名【英文标题】:Get column names of sql query when using bigquery API in c# 【发布时间】:2020-11-25 15:25:25 【问题描述】:

如何打印所有列名? Console.WriteLine(row.RawRow.ETag); 不起作用,它会打印空行

这是我目前的代码

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"])
    

【问题讨论】:

你能在 foreach 循环中检查调试器吗? 我找到了解决方案,谢谢 【参考方案1】:

其中一个例子有你的答案

Here

public List<T> Execute<T>(string sql)

    var client = BigQueryClient.Create(projectId);

    List<T> result = new List<T>();
    try
    
        string query = sql;
        BigQueryResults results = client.ExecuteQuery(query, parameters: null);
        List<string> fields = new List<string>();

        foreach (var col in results.Schema.Fields)
        
            fields.Add(col.Name);
        

【讨论】:

以上是关于在c#中使用bigquery API时获取sql查询的列名的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery SQL如何在使用LIMIT时获取总数

使用 BigQuery REST 或 Java API 运行查询以获取 JSON 输出格式

使用bigquery表GET api获取表的最后修改日期

使用 bigquery 表 GET api 获取表的最后修改日期

获取 REST API 数据并使用 C# 将它们保存到 SQL 表中

如何使用 API 在 BigQuery 中获取临时表的名称