Допустим, у меня есть таблица в SQLServer с именем MyTableКак получить имена столбцов таблицы во время выполнения на C#?
ID FirstName LastName
1 Harry Dan
2 Maria Vicente
3 Joe Martin
Теперь, если я должен вставить все данные в таблице, я просто огонь Вставить запрос как этот
INSERT INTO MyTable (ID, FirstName, LastName) VALUES (4, Smith, Dan);
Но что, если я не Не знаю имена столбцов заранее, я знаю только имя таблицы. Тогда есть способ получить имя столбца таблицы во время выполнения?
Вы вставляете данные в таблицы, которые вы не знаете структуру до выполнения? Похоже на плохой сценарий ИМХО. – Jake1164
@ Jake1164, это довольно распространено для полностью отключенных систем. Рассмотрим пример, когда у вас есть централизованное хранилище данных, которое используется в качестве посредника для обмена данными между географически распределенными службами, о которых вы ничего не знаете. Теперь подумайте, что вы можете отправить объект, использовать его свойства и построить инструкцию 'INSERT' для таблицы, о которой вы ничего не знаете, - все, что вы знаете, это то, что свойства соответствуют схеме и что таблица ** предполагается **, чтобы быть там , *** Короче говоря, я могу придумать больше сценариев, в которых вы не знали бы о схеме. *** –
В дополнение ко всем ответам о запросе системных метаданных, если вы предпочитаете «чистое» .NET-решение, тогда вы можете используйте объект [SMO 'Table'] (http://msdn.microsoft.com/en-us/library/ms220470.aspx) и изучите коллекцию« Columns ». – Pondlife