我的代码在
之下private void FillTable()
{
//string ConnectionString = @"Data Source=MedicineDatabase.db;Version=3;Password=h2ckerinsideh2ckerinsideh2ckerinside;";
using (SQLiteConnection con = new SQLiteConnection(@"Data Source=MedicineDatabase.db;Version=3;Password='abc';"))
{
SQLiteCommand cmd = new SQLiteCommand();
string CommandText = "select * from Medicines";
SQLiteDataAdapter DB = new SQLiteDataAdapter(CommandText, con);
DataSet DS = new DataSet();
DS.Reset();
DB.Fill(DS);
using (DataTable dt = new DataTable())
{
DB.Fill(dt);
MedicineMetroGrid.DataSource = dt;
}
}
}
和
我收到此错误
**
"文件已加密或不是数据库文件已加密或不是 数据库"
** 除非我的代码看起来很完美是否有问题?我正在使用带有c#的sqlite来构建一个我需要加密 .db 文件的简单程序。
答案 0 :(得分:0)
Go to this like for more details 我从那里复制粘贴的答案,希望它会有所帮助,
当您在连接字符串中指定密码并且数据库已存在时,SQLite会假定数据库已加密并将尝试使用所述密码对其进行解密。如果您还没有在数据库上设置密码,这将导致"文件被加密"错误,因为提供的密码不能用于解密未加密的数据库。
您可以删除数据库,SQLite将使用连接字符串中的密码创建新的加密数据库。或者,您可以使用ChangePassword()方法加密现有数据库:
// Opens an unencrypted database
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
// Encrypts the database. The connection remains valid and usable afterwards.
cnn.ChangePassword("mypassword");