[英]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.