sql >> Databasteknik >  >> RDS >> Sqlserver

Hämta kolumnnamn från en fråga utan data

Det första du skulle göra är att se till att ingen data returneras:

SELECT TOP 0 [vwGetData].* FROM [vwGetData] WHERE 1 = 2;

Om du nu antar att du vet hur man ställer in en DataReader skulle du göra följande:

using(var reader = command.ExecuteReader())
{
  // This will return false - we don't care, we just want to make sure the schema table is there.
  reader.Read();

  var tableSchema = reader.GetSchemaTable();

  // Each row in the table schema describes a column
  foreach (DataRow row in tableSchema.Rows)
  {
    Console.WriteLine(row["ColumnName"]);
  }
}

Du kan också titta på SQL Catalog SYS Views .



  1. Aggregering efter medianvärde i SQL

  2. varför skulle jag kunna använda metoden first() när min resultatuppsättningstyp endast är framåt?

  3. Dyr fullbordsskanning på välj alla utan villkor

  4. Hur timeofday() fungerar i PostgreSQL