选择输出目录会更改数据库文件路径

时间:2013-11-29 10:16:48

标签: c# database sqlite pdf path

我已经使用C#+ SQLite库创建了一个应用程序。 有打印合同的功能,它适用于打印机,但是当我为打印机选择PDF编写器时,它会在输出pdf的目录中创建一个新的空db文件(例如:C:\ Documents .. )。当然,程序无法从数据库中读取任何内容以创建pdf并丢弃丢失表的异常。

它只发生在我的笔记本电脑上。它适用于我的电脑。

我的连接字符串:

string path = Directory.GetCurrentDirectory();
...
SQLiteConnection con;
con = new SQLiteConnection("Data Source=" + path + "\\db1.db3; Version=3;
                            Pooling=True; Max Pool Size=100");

路径字符串在表单的构造函数中定义,因此它必须始终指向我的应用程序目录。

如果我选择该软件的文件夹,它可以正常工作。

1 个答案:

答案 0 :(得分:3)

Directory.GetCurrentDirectory()获取当前活动目录,这可能与您的应用目录不同。
你最好用:

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);