【发布时间】:2011-07-27 06:54:33
【问题描述】:
我有一个正常工作的程序,我可以从程序中访问数据库...但我的问题是...我的计算机上没有数据库...在至少我能在哪里找到它。我尝试搜索所有 .db 文件,但它不存在。我希望能够将此文件复制到我正在制作的程序中,并将其备份到其他地方。但我找不到它。我使用安装程序将其正确安装到我名下的程序文件中,这也可以,程序运行并从数据库中读取。所以这是我用来创建数据库的代码,因为如果您尝试打开连接并且文件不存在,sqlite 将创建一个数据库。乙
我确认
public void createDB()
{
string path = Path.GetDirectoryName(Assembly.GetAssembly(typeof(sqlLib)).CodeBase);
string[] brokenPath = path.Split('\\');
path = "";
for (int i = 1; i < brokenPath.Length; i++)//parse file name and rebuild to remove wrong chars
{
path += brokenPath[i];
if (i < brokenPath.Length - 1)
path += "\\";
}
MessageBox.Show(path);
if (!File.Exists(path += "\\fman.db"))
{
MessageBox.Show("File doesn't exist");
SQLiteConnection db = dbConnect();
popDB(db);
dbClose(db);
}
同样,工作正常......
我创建了数据库
static public SQLiteConnection dbConnect()
{
string ConnectString = "Data Source = fman.db;";
SQLiteConnection db = new SQLiteConnection(ConnectString);
db.Open();
return db;
}
所以,我可以正常访问数据库并读/写文件,但我无法在任何地方找到该文件。如果我在调试模式下工作,它就在 bin/debug 文件中,但是当我安装它时,它会去哪里?
提前请大家帮忙
【问题讨论】:
-
你要安装到哪里?
-
它被安装到程序文件中,因此程序文件/Alternate/FileMan 是它所在的位置,但 db 文件不在该目录中
-
好的,这是一个非常本地化的问题。如果您无法确定从哪里读取数据库,那么我建议您查看创建它的位置。
-
我在运行应用程序的目录中创建它,但它没有出现在那里。所以我不知道如何找到它,这是我的问题。我无法复制它,因为该文件不在程序文件夹中。
-
stackoverflow.com/questions/6757457/… 你也在尝试这个吗..?
标签: c# sqlite filesystems database-connection database-create