我有一个包含200个查询的Access 2003文件,我想在SQL中打印出它们的表示形式.我可以使用设计视图查看每个查询并将其剪切并粘贴到文件中,但这很乏味.此外,我可能不得不在其他Access文件上再次执行此操作,所以我绝对想编写一个程序来执行此操作.
查询在哪里存储Access数据库?我找不到任何说如何得到他们的东西.我对Access不熟悉,所以我很感激任何指针.谢谢!
程序是你正在寻找的:
OleDbConnection conn = new OleDbConnection(connectionString); conn.Open(); DataTable queries = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures, null); conn.Close();
这将为您提供一个DataTable,其中包含以下列(以及其他列):
PROCEDURE_NAME:查询的名称
PROCEDURE_DEFINITION:SQL定义
所以你可以这样循环遍历表:
foreach(DataRow row in queries.Rows) { // Do what you want with the values here queryName = row["PROCEDURE_NAME"].ToString(); sql = row["PROCEDURE_DEFINITION"].ToString(); }