C# Postgres—在查询中返回列名的优雅方式
将一个超级简单的查询工具放在一起,如下所示: 问题:如何让列名通过,以便它们与查询结果匹配 代码是C# Postgres—在查询中返回列名的优雅方式,c#,postgresql,C#,Postgresql,将一个超级简单的查询工具放在一起,如下所示: 问题:如何让列名通过,以便它们与查询结果匹配 代码是 NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=letmein;Database=dave;"); conn.Open(); try { var colName = new NpgsqlC
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=letmein;Database=dave;");
conn.Open();
try {
var colName = new NpgsqlCommand(@"SELECT column_name
FROM information_schema.columns
WHERE table_schema='public' AND table_name='simple_table' ORDER BY column_name", conn);
NpgsqlDataReader dr = colName.ExecuteReader();
while (dr.Read()) {
for (int i = 0; i < dr.FieldCount; i++)
txtResults.Text += dr[i] + " ";
}
txtResults.Text += "\r\n \r\n";
var command = new NpgsqlCommand(txtSql.Text, conn);
dr = command.ExecuteReader();
while (dr.Read()) {
for (int i = 0; i < dr.FieldCount; i++)
txtResults.Text += dr[i] + " ";
txtResults.Text += "\r\n";
}
}
finally {
conn.Close();
}
NpgsqlConnection conn=newnpgsqlconnection(“服务器=127.0.0.1;端口=5432;用户Id=postgres;密码=letmein;数据库=dave;”;
conn.Open();
试一试{
var colName=new NpgsqlCommand(@“SELECT column_name
从信息_schema.columns
其中,表\u schema='public'和表\u name='simple\u table'按列\u name排序,conn);
NpgsqlDataReader dr=colName.ExecuteReader();
while(dr.Read()){
对于(int i=0;i
您可以使用DataGrid显示结果:
DataTable dt = new DataTable();
dt.Load(reader);
dataGridView1.DataSource = dt;
参考:
for (int i = 0; i < dr.FieldCount; i++)
{
fieldnames += dr.GetName(i) + " | " ;
}
在控制台中检索所有columnName:fieldValue:
for(int i=0; i < ds.Tables[0].Rows.Count; i++)
for(int j=0; j < ds.Tables[0].Rows[i].ItemArray.Length; j++)
Console.WriteLine(ds.Tables[0].Columns[j].ToString() + " : " + ds.Tables[0].Rows[i][j].ToString());
for(int i=0;i
for(int i=0; i < ds.Tables[0].Rows.Count; i++)
for(int j=0; j < ds.Tables[0].Rows[i].ItemArray.Length; j++)
Console.WriteLine(ds.Tables[0].Columns[j].ToString() + " : " + ds.Tables[0].Rows[i][j].ToString());