невозможно работать с бд, пишет:"database is locked" Winforms,SQL, C#

При выполнении метода

private void Mudak()
        {
            SQLiteConnection conn = new SQLiteConnection(ConnStr);
            SQLiteCommand command = new SQLiteCommand("select FIO from BlackList where FIO = '" + txtName.Text + "'", conn);
            conn.Open();
            SQLiteDataReader reader = command.ExecuteReader();
            if (reader.Read())
                txtName.ForeColor = Color.Red;
            else
                txtName.ForeColor = Color.Blue;
            conn.Close();
        }

невозможно работать с бд, пишет:"database is locked database is locked" Это происходит, только когда условие if подходит. Грешу на то,что не закрывается соединение, но почему не пойму


Ответы (2 шт):

Автор решения: AvtPhenix

Вероятнее всего из того что я вижу происходит примерно следущее: вы несколько раз пытаетесь запросить данные не закрывая соединения/ридера. А так как это SQLite лок делается на таблицу. Для начала я бы обернул все создания соеднинений, чтение и команду в using.

Ну немного оффтопа: лучше не делать Select реквесты через склеивание строки так как возможно сделать SQLInjection ваш запрос (лучше параметры передавать через SQLiteParameter).

→ Ссылка
Автор решения: Илья Муров

Я просто добавил reader.Close(); И все заработало

→ Ссылка