Я искал SO о том, как получить имя столбца, и я попробовал некоторые решения, но когда я использую этот метод, например, я получаю эти имена столбцов, а не мои фактические имена столбцов (идентификатор, статус, заголовок и т. Д.):
- ТАБЛИЦА_КАТАЛОГ
- ТАБЛИЦА_СХЕМА
- ТАБЛИЦА ИМЯ
TABLE_TYPE
using (SqlConnection connection = new SqlConnection(this.ConnectionString)) { System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(); builder.ConnectionString = this.ConnectionString; string server = builder.DataSource; string database = builder.InitialCatalog; connection.Open(); DataTable schema = connection.GetSchema("Tables"); Tables = new List<Table>(); foreach (DataRow row in schema.Rows) { /* Add Table */ Table t = new Table(); string tableName = row[2].ToString(); t.Name = tableName; /* Add columns */ //DataTable dtCols = connection.GetSchema("Columns", new[] { "StarTrackerDB", null, "dbo.Tickets" }); t.Columns = new List<Column>(); foreach (DataColumn column in row.Table.Columns) { Column c = new Column(); c.Name = column.ColumnName; t.Columns.Add(c); } Tables.Add(t); } }
РЕДАКТИРОВАТЬ:
Я хочу получить его на C #, т.е. не выполнять строку запроса SQL в моем коде.
РЕДАКТИРОВАТЬ2
Токовый выход:
- ТАБЛИЦА_КАТАЛОГ
- ТАБЛИЦА_СХЕМА
- ТАБЛИЦА ИМЯ
- TABLE_TYPE
Ожидаемый результат:
- ID
- Статус
- Заголовок
и т.д. названия столбцов в таблицах. string tableName
установлен правильно.