C#如何以最简单的方式连接WPF和SQLITE数据库

时间:2017-02-20 04:51:59

标签: c# wpf sqlite connection

wpf和sqlite新手。我只想要一个项目的内部数据库。我希望这个项目能够被其他人使用,所以我不能将mysql用作数据库。所以我搜索内部数据库并决定尝试sqlite。我找到了教程,但他们真的很困惑。我熟悉数据库我知道查询但现在我只需要知道在WPF和sqlite之间建立连接所需的设置是什么。下面是我的代码(我为我的sqlite连接创建了一个不同的类):

 sqlite class

 using System.Data.SQLite;
 namespace StartMyApps
 {
     class StartMyAppDb_sqlite
     {
       public SQLiteConnection myConn;
       public SQLiteCommand myComm;
       public SQLiteDataReader myReader;

       public void openConnection(string query)
       {
         myConn = new SQLiteConnection("Data Source=StartMyApplication.sqlite;Version=3;");
         myConn.Open();
         myComm = new SQLiteCommand(query, myConn);
         myComm.ExecuteNonQuery();
         myReader = myComm.ExecuteReader();
       }      
    }
 }

 Main class (has a button to trigger the connection and will pass a query)

   private void hide_btn_Click(object sender, RoutedEventArgs e)
    {
        sqliteDB.openConnection("select *from application where app_id='1' and app_name='chrome.exe';");

        bool hasAccount = false;
        while (sqliteDB.myReader.Read())
        {
            hasAccount = true;
        }

        if (hasAccount == false)
        {
            MessageBox.Show("Logged in");
        }

        else if (hasAccount == true)
        {
            MessageBox.Show("Username invalid");
        }
    }

使用此代码我收到错误

  

"未处理的类型' System.DllNotFoundException'发生了   在System.Data.SQLite.dll中其他信息:无法加载DLL   ' SQLite.Interop.dll':找不到指定的模块。   (HRESULT异常:0x8007007E)"

请帮忙。任何帮助将非常感谢谢谢!

2 个答案:

答案 0 :(得分:1)

我认为这就是您所寻找的:Unable to load DLL 'SQLite.Interop.dll'

假设你有:

  • 安装了SQLite(Windows的正确版本)

  • 适当的参考资料

答案 1 :(得分:0)

按照以下步骤操作:

  • 在项目中添加2个文件夹,并将其命名为x64和x86。
  • 分别为x64和x86添加SQLite.interop.dll(谷歌相同)
  • 在SQLite.interop.dll属性中,设置     "构建行动" - >内容     和"复制到输出目录" - >复制始终/复制如果更新。