Я пытаюсь получить имена столбцов таблицы, которую я сохранил в SQL Server 2008 R2.Получить имя столбца из SQL Server
Я буквально пробовал все, но я не могу найти, как это сделать.
Сейчас это мой код в C#
public string[] getColumnsName()
{
List<string> listacolumnas=new List<string>();
using (SqlConnection connection = new SqlConnection(Connection))
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT TOP 0 * FROM Usuarios";
connection.Open();
using (var reader = command.ExecuteReader(CommandBehavior.KeyInfo))
{
reader.Read();
var table = reader.GetSchemaTable();
foreach (DataColumn column in table.Columns)
{
listacolumnas.Add(column.ColumnName);
}
}
}
return listacolumnas.ToArray();
}
Но это возвращает меня следующие
<string>ColumnName</string>
<string>ColumnOrdinal</string>
<string>ColumnSize</string>
<string>NumericPrecision</string>
<string>NumericScale</string>
<string>IsUnique</string>
<string>IsKey</string>
<string>BaseServerName</string>
<string>BaseCatalogName</string>
<string>BaseColumnName</string>
<string>BaseSchemaName</string>
<string>BaseTableName</string>
<string>DataType</string>
<string>AllowDBNull</string>
<string>ProviderType</string>
<string>IsAliased</string>
<string>IsExpression</string>
<string>IsIdentity</string>
<string>IsAutoIncrement</string>
<string>IsRowVersion</string>
<string>IsHidden</string>
<string>IsLong</string>
<string>IsReadOnly</string>
<string>ProviderSpecificDataType</string>
<string>DataTypeName</string>
<string>XmlSchemaCollectionDatabase</string>
<string>XmlSchemaCollectionOwningSchema</string>
<string>XmlSchemaCollectionName</string>
<string>UdtAssemblyQualifiedName</string>
<string>NonVersionedProviderType</string>
<string>IsColumnSet</string>
Есть идеи?
Он показывает теги <string>
, так как мой веб-сервис отправляет данные.
Вы должны перебрать * * строки в 'GetSchemaTable', в противном случае вы просто получаете столбцы метаданных. Это всего лишь вторая таблица, которая описывает первый. – Alejandro
Это дубликат того, что кажется бесконечным количеством вопросов на SO и в Интернете, а также в документации MS. Вот хороший запрос, чтобы вы начали находить все существующие ответы. Я просто взял заголовок вашего вопроса и подключил его к Google: http://bit.ly/GXswgz –