簡體   English   中英

Access數據庫 - 檢索存儲查詢的名稱?

[英]Access database - Retrieve names of stored queries?

這可能以編程方式嗎? 獲取存儲查詢的名稱或檢查是否存在具有特定名稱的查詢?

使用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"]);
}

您可以查詢Procedures表以獲取所有存儲過程

ProcedureName字段包含ProcedureName的名稱

您還可以使用未記錄但很常用的MSysObjects表:

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

這將包括Access為組合框,列表框和子表單創建的任何系統查詢。 它們都以波浪號開頭,所以你可以像這樣排除它們:

SELECT [Name]
FROM [MSysObjects]
WHERE [Type] = 5
    AND [Name] NOT LIKE "~*"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM