Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > ?получение названия таблиц, строк?


Автор: JasonT 3.7.2008, 08:27
Есть база в Access. Нужно программно узнать название ее таблиц, строк. Можно ли это как-то сделать средствами .Net а именно C#?
Заранее благодарен.

Автор: jonie 3.7.2008, 17:51
выполните на базе такой запрос:
Код

--ваши таблицы
SELECT MSysObjects.Id, MSysObjects.Name 
FROM MSysObjects 
WHERE (((MSysObjects.Type)=1) AND (Left([Name],4))<>"MSys" And (Left([Name],4))<>"USys");

--присоединенные
SELECT MSysObjects.Id, MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Type)=6) AND ((Left([Name],4))<>"MSys" And (Left([Name],4))<>"USys"));


Добавлено @ 18:02
вот еще вариант:
Код

            using(OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Persist Security Info=False"))
            {
                conn.Open();
                DataTable schemaTable = conn.GetOleDbSchemaTable(
                    OleDbSchemaGuid.Tables,
                        null);
            }

поиграйтесь со вторыйм параметром. там и колонки есть.
такой же результат от DataTable schemaTable = conn.GetSchema("Columns");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)