所以当我在c#代码中使用system.data.sqlite时,我有这种奇怪的行为:我的任务是创建一个新的数据库并通过代码创建它的表。如果数据库已经存在,我需要删除它。由于SQlite是一个单独的文件 - 我只是在文件系统中查找并使用下一个简单的函数删除它:
public static void DeleteFile(string path)
{
File.Delete(path);
}
然后,我创建数据库并打开连接(再次,非常简单):
SQLiteConnection.CreateFile(fileName);
SQLiteConnection con = new SQLiteConnection(String.Format(conString,dbName));
con.Open();
这就是问题 - 现在,当我尝试在新创建的数据库中创建一个表时 - 我得到一个表已经存在的错误。是的 - 我在旧的已删除文件中创建了它。但该文件已成功删除(由Windows资源管理器验证)。有谁知道为什么以及如何发生这种情况?