c# - 在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"])
}
解决方案
您正在迭代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);
}