当前位置:  开发笔记 > 编程语言 > 正文

如何在C#中使用OleDB列出MS Access文件中的所有查询?

如何解决《如何在C#中使用OleDB列出MSAccess文件中的所有查询?》经验,为你挑选了1个好方法。

我有一个包含200个查询的Access 2003文件,我想在SQL中打印出它们的表示形式.我可以使用设计视图查看每个查询并将其剪切并粘贴到文件中,但这很乏味.此外,我可能不得不在其他Access文件上再次执行此操作,所以我绝对想编写一个程序来执行此操作.

查询在哪里存储Access数据库?我找不到任何说如何得到他们的东西.我对Access不熟悉,所以我很感激任何指针.谢谢!



1> Mark Bell..:

程序是你正在寻找的:

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();
}


一些更正:列名称为PROCEDURE_DEFINITION(不是复数).要获得所有查询,您必须检索过程和查询.程序是那些带参数的程序.对于查询,列为TABLE_NAME和VIEW_DEFINITION.
推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有