C#:将DataGridView绑定到应用程序目录中的数据库文件

时间:2011-03-30 07:37:47

标签: c# winforms sqlite datagridview

我目前在“c:\ temp”中绑定了一个sqlite数据库的DataGridView。我使用VS2008 GUI绑定它。我希望它绑定到运行应用程序的任何目录中的数据库。我可以看到路径被硬编码到“c:\ temp \ myapp.db”的位置,但是如果我在生成的代码中更改它,那么当我重新编译时它会被覆盖吗?

如何设置它以便DataGridView连接到应用程序所在目录中的sqlite db文件?

我对Winforms编程非常陌生,所以一步一步的细节将不胜感激。

更新

我想我知道如何获得cwd(见下文);问题是当VS生成db访问代码时,让DataGridView使用它。

string cwd =    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

也许无法做到? 也许我需要写一个DAL,我打算这样做 - 如果有的话,现在只想快速解决。

1 个答案:

答案 0 :(得分:0)

将应用程序的启动路径与预期的文件名结合起来:

string filename = System.IO.Path.Combine(Application.StartupPath, "datafile.db");

这将包括可执行文件的运行路径。 然后,您可以将此filename变量用作SQLiteConnection对象上的Database属性:

        System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
        // ... your connection setup code here
        conn.Database = filename;

更新:要通过代码绑定网格,请参阅this MSDN article。它适用于MSSQL,但SQLite从Data命名空间类继承到对象是可以互换的。