如何使用 File.Open 方法打开数据库

Posted

技术标签:

【中文标题】如何使用 File.Open 方法打开数据库【英文标题】:How to Open an database with the File.Open method 【发布时间】:2016-07-28 11:49:32 【问题描述】:

我有一个带有按钮和 dataGridView 的表单,我知道我可以使用 OleDB 连接打开我的数据库,但我的问题是我可能必须搜索我的数据库(“.mdb”文件)在我的电脑。

有什么方法可以用这个按钮打开一个 File.Open(搜索我的数据库),然后在我的 datagridview 上显示它?

【问题讨论】:

如果你知道MDB的数据结构,那么是的。否则没有。 我如何搜索它(我将添加过滤器仅用于读取 .mdb 文件),当我选择它时,我已经激活了我的查询以执行 SELECT * FROM mydatabase 并将其显示在 datagridView 使用OleDB,更简单,然后重新发明OleDB。 【参考方案1】:

您可以使用OpenFileDialog

这里有一个例子: http://www.dotnetperls.com/openfiledialog

【讨论】:

【参考方案2】:

我不确定“File.Open”是什么意思,但您可以创建一个OpenFileDialog,用户可以在其中选择他想要打开的文件。从此对话框中,您将获得一个文件名,您可以在连接字符串中使用它。

OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Database Files|*.mdb";
if (dlg.ShowDialog() == DialogResult.OK) 
    string dbfile = dlg.FileName;
    string connectstring = string.format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=0";Persist Security Info=False;, dbfile);

     using (OleDbConnection con = new OleDbConnection(connectstring)) 
         //... do your database operations here
     


【讨论】:

说“file.Open”我的意思是这种情况msdn.microsoft.com/en-us/library/b9skfh7s(v=vs.110).aspx 不,你不能直接用File.Open打开一个db文件,除非你知道那个文件的内部结构。这就是 OleDb 的用途。你必须自己重新实现所有这些东西。【参考方案3】:

您必须将数据库与数据提供者连接起来,而不是像文本文件一样打开它。这个帖子可能对你有用:How to connect to a MS Access file (mdb) using C#?

【讨论】:

以上是关于如何使用 File.Open 方法打开数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Cloudinary 链接以 UTF-8 格式显示原始内容?

如何在Intellij IDEA用图形界面打开.java文件

如何在读取时检测文件已被截断

PYTHON 文件操作

如何使python等到批处理执行完成

Ruby 在哪里跟踪其打开的文件描述符?