Доступ к базе данных - получить имена сохраненных запросов? - PullRequest
0 голосов
/ 10 января 2012

Возможно ли это программно?Получить имена сохраненных запросов или проверить, существует ли запрос с конкретным именем?

Ответы [ 3 ]

2 голосов
/ 10 января 2012

Использовать OleDbConnection.GetOleDbSchemaTable Метод.

OleDbConnection connection = new OleDbConnection(@"connection_string");
connection.Open();
DataTable schemaTable = connection.GetOleDbSchemaTable(
         OleDbSchemaGuid.Tables,
           new object[] { null, null, null, "VIEW" });
foreach (DataRow row in schemaTable.Rows )
{
    Console.WriteLine(row["TABLE_NAME"]);
}
0 голосов
/ 10 января 2012

Вы также можете использовать недокументированную, но часто используемую таблицу MSysObjects:

SELECT [Name]
FROM [MSysObjects]
WHERE [Type] = 5

Это будет включать любые системные запросы, созданные Access для комбинированных окон, списков и подчиненных форм.Все они начинаются с тильды, поэтому вы можете исключить их следующим образом:

SELECT [Name]
FROM [MSysObjects]
WHERE [Type] = 5
    AND [Name] NOT LIKE "~*"
0 голосов
/ 10 января 2012

Вы можете запросить таблицу Procedures, чтобы получить все хранимые процедуры

ProcedureName поле содержит название процедуры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...