C# 选择输出目录将更改数据库文件路径

C# 选择输出目录将更改数据库文件路径,c#,database,sqlite,pdf,path,C#,Database,Sqlite,Pdf,Path,我已经用C#+SQLite库创建了一个应用程序。 有一个打印合同的功能,它可以与打印机配合使用,但当我为打印机选择PDF writer时,它会在输出PDF的目录中创建一个新的空db文件(例如:C:\Documents…)。当然,程序不能从数据库中读取任何内容来创建pdf,并删除丢失表的异常 这只发生在我的笔记本电脑上。它与我的电脑配合得很好 我的连接字符串: string path = Directory.GetCurrentDirectory(); ... SQLiteConnection c

我已经用C#+SQLite库创建了一个应用程序。 有一个打印合同的功能,它可以与打印机配合使用,但当我为打印机选择PDF writer时,它会在输出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");
路径字符串是在表单的构造函数中定义的,因此它必须始终指向应用程序的目录


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

目录。GetCurrentDirectory()
获取当前的active Directory,这可能与您的应用程序目录不同。
你最好使用:

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