我已经使用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");
路径字符串在表单的构造函数中定义,因此它必须始终指向我的应用程序目录。
如果我选择该软件的文件夹,它可以正常工作。
答案 0 :(得分:3)
否Directory.GetCurrentDirectory()
获取当前活动目录,这可能与您的应用目录不同。
你最好用:
string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);