мне нужно, чтобы получить реальное имя столбца из DataTable, который я заполнил его FillSchema()
метода, это запрос я использовал (SELECT ID AS [SNO],CATEG_NAME AS [Category] FROM Categories)
Как получить реальное имя столбца псевдонима столбца
var dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("SELECT ID AS [SNO],CATEG_NAME AS [Category] FROM Categories",conn);
da.FillSchema(dt, SchemaType.Source);
dt.FillBySql(sql);
Когда я проверяю dt.columns
I что есть два столбца с тем же именем, что и в запросе. Что я могу сделать, чтобы получить реальный столбец names(id, categ_name)
?
Почему вы используете псевдонимы, если не хотите их? Было бы легко «SELECT * FROM Categories» получить все имена столбцов. Другой вариант - ExecuteReader (CommandBehavior.SchemaOnly)). http://stackoverflow.com/a/12161051/284240 Другой вариант - использовать таблицу 'INFORMATION_SCHEMA.COLUMNS' в базе данных. http://stackoverflow.com/a/600457/284240 –
Я использовал псевдонимы для создания заголовка для каждого поля, показанного в виде сетки данных, а также для получения реальных имен столбцов, чтобы использовать их в другой важной задаче –
, обратите внимание, что когда я использовал ExecuteReader (CommandBehavior.SchemaOnly), он возвратил таблицу схем, содержит все сведения о каждом столбце в указанном запросе, но, к сожалению, он не может идентифицировать столбцы с псевдонимом и дать мне ColumnName = SNO ,,, BaseColumnName = SNO ,,, IsAliased = –