这可能是以编程方式吗?获取存储查询的名称或检查是否存在具有特定名称的查询?
答案 0 :(得分:2)
使用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"]);
}
答案 1 :(得分:0)
您可以查询Procedures
表以获取所有存储过程
ProcedureName
字段包含过程的名称
答案 2 :(得分:0)
您还可以使用未记录但使用频繁的MSysObjects
表:
SELECT [Name]
FROM [MSysObjects]
WHERE [Type] = 5
这将包括Access为组合框,列表框和子表单创建的任何系统查询。它们都以波浪号开头,因此您可以将它们排除在外:
SELECT [Name]
FROM [MSysObjects]
WHERE [Type] = 5
AND [Name] NOT LIKE "~*"