Таблица базы данных заблокирована (C #, Sqlite3) - PullRequest
0 голосов
/ 12 сентября 2018
SQLiteCommand sqlite_cmd_show;
SQLiteConnection sqlite_conn;
SQLiteDataReader sqlite_datareader;

sqlite_cmd_show = sqlite_conn.CreateCommand();
sqlite_cmd_show.CommandText = "SELECT * FROM stock WHERE item_barcode = @barcode and serial_data != '' and serial_data > @serial";
sqlite_cmd_show.Parameters.Add("@barcode", System.Data.SqlDbType.Int);
sqlite_cmd_show.Parameters.Add("@serial", System.Data.SqlDbType.Int);

for (int count = 0; count < DataGItem.Rows.Count; count++)
{
    isExist = false;

sqlite_cmd_show.Parameters["@barcode"].Value = (String)DataGItem.Rows[count].Cells[1].Value;
sqlite_cmd_show.Parameters["@serial"].Value = (String)DataGItem.Rows[count].Cells[6].Value;

sqlite_datareader = sqlite_cmd_show.ExecuteReader();
while (sqlite_datareader.Read())
{
    isExist = true;
    break;
}

if (isExist)
{
    continue;
}

sqlite_cmd = sqlite_conn.CreateCommand();
sqlite_cmd.CommandText = "Insert into stock ( stock_id, item_barcode ) VALUES ("+ stock_id +",'" + txtDocNo.Text + "')";
sqlite_cmd.ExecuteNonQuery();

Это мой пример кода и его ошибка в последней строке "sqlite_cmd.ExecuteNonQuery ();"

Ошибка:

Необработанное исключение типа 'Finisar.SQLiteПроизошло исключение

1 Ответ

0 голосов
/ 12 сентября 2018

Закройте соединение перед оператором вставки

sqlite_conn.Close()

Затем откройте новое

sqlite_conn.Open()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...