C#和SQLite:使用相对路径时,“没有这样的表错误”?

问题描述 投票:3回答:3

我在连接到我的sqlite数据库时遇到问题。该文件位于应用程序的文件夹中。这是连接字符串

string path = "Data Source=MY.db";

如果使用绝对路径,我可以使它工作,但是如果尝试使用相对路径,它会给我一个“找不到表”错误。有什么想法吗?

c# sqlite system.data.sqlite
3个回答
10
投票

您正在打开一个不同的数据库,也许是一个没有新表的数据库。 (是的,SQLite将使用默认的连接设置愉快地创建一个新数据库。)确保

正确

数据库已打开。请记住,relative路径是相对于Current Working Directory的,这可能不是预期的。((从哪个位置以及如何加载过程影响工作目录。例如,可以在项目设置/调试/开始选项下设置“调试”会话的工作目录。

快乐编码。

另请参见:


0
投票
这是在使用GUI Manager for SQLite时没有保存数据库及其表的情况。两种解决方案;1)使用GUI管理器中的CTR + S保存数据库及其表2)或只需关闭SQlite的GUI管理器并保存所有。

0
投票
我的Windows应用程序(C#)和Web应用程序(ASP.net)都遇到了相同的问题。我通常使用SQLite,因为我发现它更容易,尤其是在使用连接字符串时。但是对我来说,主要的障碍是在代码中放置一个相对路径,因此我可以发布它而不必担心找不到数据库。我已经尝试了许多方法(使用“ |数据目录|”,“〜/”,“ ./”,...),但是在找到这些解决方案之前,这些方法均无效。该代码似乎对我有用,但想知道我是否在正确使用它们?!
© www.soinside.com 2019 - 2024. All rights reserved.