C# 如果sqlite db没有';不存在?

C# 如果sqlite db没有';不存在?,c#,.net,visual-studio,sqlite,C#,.net,Visual Studio,Sqlite,如果sqlite db不存在,我将尝试以编程方式创建它。我已经编写了以下代码,但在最后一行我遇到了一个异常 if (!System.IO.File.Exists("C:\\Users\\abc\\Desktop\\1\\synccc.sqlite")) { Console.WriteLine("Just entered to create Sync DB"); SQLiteConnection.CreateFile("C:\\Users\\abc\\Desktop\\1\\syn

如果sqlite db不存在,我将尝试以编程方式创建它。我已经编写了以下代码,但在最后一行我遇到了一个异常

if (!System.IO.File.Exists("C:\\Users\\abc\\Desktop\\1\\synccc.sqlite"))
{
    Console.WriteLine("Just entered to create Sync DB");
    SQLiteConnection.CreateFile("C:\\Users\\abc\\Desktop\\1\\synccc.sqlite");
    string sql = "create table highscores (name varchar(20), score int)";
    SQLiteCommand command = new SQLiteCommand(sql, sqlite2);
    command.ExecuteNonQuery();
}
sqlite2 = new SQLiteConnection("Data Source=C:\\Users\\abc\\Desktop\\1\\synccc.sqlite");

我在
命令行获得异常。ExecuteNonQuery()异常为未处理的无效操作异常
。是否有其他方法将sqlite文件添加到项目中?我可以手动操作吗?如果没有,那么如何解决上述问题?

要在数据库上执行任何类型的数据定义命令,需要打开连接才能传递该命令。在代码中,在执行查询后创建连接

当然,在创建之后,您需要打开连接

if (!System.IO.File.Exists(@"C:\Users\abc\Desktop\1\synccc.sqlite"))
{
    Console.WriteLine("Just entered to create Sync DB");
    SQLiteConnection.CreateFile(@"C:\Users\abc\Desktop\1\synccc.sqlite");
    
    using(var sqlite2 = new SQLiteConnection(@"Data Source=C:\Users\abc\Desktop\1\synccc.sqlite"))
    {
        sqlite2.Open();
        string sql = "create table highscores (name varchar(20), score int)";
        SQLiteCommand command = new SQLiteCommand(sql, sqlite2);
        command.ExecuteNonQuery();
    }
}

但是,如果使用提供程序的版本3,则不必检查文件是否存在。如果文件不存在,只需打开连接即可创建该文件。

此时的
sqlite2
值是多少?现在我遇到此异常“无法加载DLL'SQLite.Interop.DLL”:找不到指定的模块。(HRESULT中的异常:0x8007007E)在我打开连接的那一行,希望这有帮助奇怪的是,sqlite连接创建在几分钟前就开始工作了,但是现在我得到了例外情况,您使用的是哪个版本的sqlite提供程序。这个消息很奇怪,因为我有1.0.82版本,在这个版本中,互操作绑定到主程序集。不需要单独的文件。可能需要升级或重新安装程序集。很抱歉,我不经常使用这个数据库系统,而且它总是在没有问题的情况下工作