Всем доброго дня! Хочу использовать SQLite в своем проекте, защитив ее паролем. В гугле нашел такие решения:
SQLiteConnection conn = new SQLiteConnection("Data Source=advsettings.db;Version=3;");
conn.SetPassword("password");
conn.Open();
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = "DROP TABLE IF EXISTS person;"
+ "CREATE TABLE person("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "first_name TEXT, "
+ "last_name TEXT, "
+ "sex INTEGER, "
+ "birth_date INTEGER);"
+ "INSERT INTO person(first_name, last_name, sex, birth_date) "
+ "VALUES ('John', 'Doe', 0, strftime('%s', '1979-12-10'));";
try
{
cmd.ExecuteNonQuery();
}
catch (SQLiteException ex)
{
Console.WriteLine(ex.Message);
}
conn.Close();
Но оно почему-то не работает для меня: код выполняется без ошибок. И я надеюсь, что не смогу зайти в БД и просматривать структуру БД без пароля, но DB Browser for SQLite позволяет просмотреть без проблем. Более того, я из своего кода я так же могу открыть БД без пароля и сделать в ней запись.
Пробовал так же вариант с
SQLiteConnection conn = new SQLiteConnection("Data Source=advsettings.db;Version=3;");
//conn.SetPassword("password");
conn.Open();
conn.ChangePassword("mypassword");
В этом случае получаю ошибку:
file is encrypted or is not a database not an error
Почему у меня не работает способ, описанный выше?
PS: использую System.Data.SQLite;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне нужно синхронизировать Progressbar в Windows Forms с командой sfc /scannowЭта команда отвечает за проверку системный файлов и идёт в процентах
Я знаком с php из далека, пока не претендую углубляться в него, но связь с сервером мне нужно, что-то элементарное передать, обработать, забрать...