【发布时间】:2013-05-30 17:52:35
【问题描述】:
我在让 Sqlite 在我的 c# irc 机器人中工作时遇到问题。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SQLite;
using System.IO;
namespace ModBot
{
class Database
{
private SQLiteConnection myDB;
private SQLiteCommand cmd;
public Database()
{
InitializeDB();
}
private void InitializeDB()
{
if (File.Exists("ModBot.db"))
{
Console.WriteLine("HEYOOOOOOO");
myDB = new SQLiteConnection("Data Source=ModBot.db;Version=3;");
String sql = "CREATE TABLE IF NOT EXISTS twitch (id INTEGER PRIMARY KEY, user TEXT, currency INTEGER DEFAULT 0, subscriber INTEGER DEFAULT 0, btag TEXT DEFAULT null);";
cmd = new SQLiteCommand(sql, myDB);
cmd.ExecuteNonQuery();
}
else
{
Console.WriteLine("YOOHOOOOO");
SQLiteConnection.CreateFile("ModBot.db");
myDB = new SQLiteConnection("Data Source=ModBot.db;Version=3;");
String sql = "CREATE TABLE IF NOT EXISTS twitch (id INTEGER PRIMARY KEY, user TEXT, currency INTEGER DEFAULT 0, subscriber INTEGER DEFAULT 0, btag TEXT DEFAULT null);";
cmd = new SQLiteCommand(sql, myDB);
cmd.ExecuteNonQuery();
}
}
}
}
我下载了 System.Data.Sqlite,并将其作为资源添加到我的项目中。当我运行代码时,它会在尝试建立实际连接时引发 DllNotFound 异常(特别是:无法加载 DLL 'SQLite.Interop.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)) .
有什么想法吗?
【问题讨论】:
-
您确定您的目标是正确的平台吗? stackoverflow.com/questions/4744293/…
-
你粘贴正确了吗?
-
@wgraham:我不确定如何使用 Visual C# 2010 更改目标平台。不过,我尝试同时使用 x86 和 x64 SQLite dll。与任一错误相同。
-
@AnnArbor:我相信。什么看起来不正确?
-
你添加到参考文献了吗?
标签: c# system.data.sqlite