невозможно работать с бд, пишет:"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).