C # sqlite удаление строк не работает, если в этой таблице нет строк - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь удалить все записи одной таблицы, используя C #.

SQLiteConnection sql_con = new SQLiteConnection("Data Source=test.db3;Version=3;New=false;Compress=true;");
        SQLiteCommand sql_cmd;
        sql_con.Open();
        sql_cmd = sql_con.CreateCommand();
        sql_cmd.CommandText = "delete from table1";
        sql_cmd.ExecuteNonQuery();
        sql_con.Close();

Работает, когда в таблице1 есть строки.Однако, если в table1 нет строк, код будет разбит на sql_cmd.ExecuteNonQuery ();Что мне не хватает?

1 Ответ

0 голосов
/ 18 октября 2018

Крайне важно обернуть все одноразовые предметы в using блоки.SQLite НЕ будет полностью закрывать соединение, пока объекты не будут удалены.Попробуйте этот код:

using (SQLiteConnection sql_con = new SQLiteConnection("Data Source=test.db3;Version=3;New=false;Compress=true;"))
{
    sql_con.Open();
    using (SQLiteCommand sql_cmd = sql_con.CreateCommand())
    {
        sql_cmd.CommandText = "delete from table1";
        sql_cmd.ExecuteNonQuery();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...