Запаролить SQLite

137
24 июля 2019, 22:00

Всем доброго дня! Хочу использовать 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;

READ ALSO
В чем разница между FOREACH и итератором [дубликат]

В чем разница между FOREACH и итератором [дубликат]

На данный вопрос уже ответили:

138
Синхронизация Progressbar с CMD

Синхронизация Progressbar с CMD

Мне нужно синхронизировать Progressbar в Windows Forms с командой sfc /scannowЭта команда отвечает за проверку системный файлов и идёт в процентах

140
Много процессов MySqld

Много процессов MySqld

Подскажите пожалуйста, откуда столько процессов MySqld?

120
Генерация ссылки на видео в youtube

Генерация ссылки на видео в youtube

Я знаком с php из далека, пока не претендую углубляться в него, но связь с сервером мне нужно, что-то элементарное передать, обработать, забрать...

114