我在DB Browser for SQLite中为数据库设置了加密密钥,现在无法在C#中访问它。
以下是相关代码:
private SQLiteConnection connection;
public DbManager()
{
connection = new SQLiteConnection("Data Source=DB\\gamedb.encrypted.sqlite;Password=p4ssw0rd;Version=3;");
connection.Open();
}
下面的SQLiteCommand
引发异常:“文件已加密或不是数据库”。
public Dictionary<string, string> ReadMaps()
{
SQLiteDataReader reader = new SQLiteCommand("select * from Map", connection).ExecuteReader();
Dictionary<string, string> res = new Dictionary<string, string>();
while (reader.Read())
res[(string)reader["Name"]] = (string)reader["Data"];
return res;
}
数据库浏览器中指定的密钥与密码不同吗?
参考方案
我决定通过编码来处理密码设置,它可以工作。我创建了一个用于设置/清除密码的新项目。
这是代码:
SQLiteConnection conn;
// (code omitted)
private void setPwButton_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(passwordTextBox.Text))
conn.ChangePassword(passwordTextBox.Text);
else
MessageBox.Show("Please specify a password!");
}
private void clearPwButton_Click(object sender, EventArgs e)
{
conn.ChangePassword(String.Empty);
}
更新System.Data.SQLite.dll后,SQLite无效URI - c#我首先有以下SQLite版本:1.0.77.0(sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.77.0)而且一切正常。将System.Data.SQLite.dll更新到版本1.0.82.0(sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.82.0)…
SQLIte SUM日期时间 - c#我有一个包含行和时间值的数据库。我想要该时间值的总和(通常,格式为%H:%M)。我这样使用SUM值:SELECT SUM(n_hores) FROM table; 但只有我得到0.0。我该怎么做?谢谢 参考方案 hh:mm格式的时间值为字符串,因此不能对字符串进行有意义的求和。您应该将这些时间值转换为数字(strftime(%s)返回自1970-01-01以…
如何解析Dapper System.Data.DataException HResult = 0x80131501 InvalidCastException从'System.String'到'System.Uri'的无效转换 - c#最近,我重构了一些代码,这些代码导致将实体的某些属性的类型从System.String更改为System.URI。有问题的属性名称包含子字符串URI或URL,并且SonarLint静态代码分析器建议将代码重构为对这些属性使用System.URI类型而不是System.String,这在我们的解决方案中很有意义。在这个项目中,我们利用StackExchange…
System.Data.OleDb.OleDbException:INSERT INTO语句中的语法错误 - c#public void RegisterUser(string passw,string uname ,string fname ,string lname, string email) { string strSql = @"INSERT INTO User (passw,uname,fname,lname,email) values (…
SQLite-无法连接数据库 - c#背景:1.它是一个使用Sqlite databse的C#应用程序2.如果不存在db,则此应用程序将创建一个空的db,并将数据从服务器同步到该数据库。问题:1.有时应用程序突然崩溃。似乎有一些未处理的异常。2.即使我重新启动该应用程序,它也立即崩溃。临时解决方案:1.将数据库复制到其他位置,然后删除原始数据库。2.运行该应用程序。没有崩溃。由于不存在任何数…