Member 14654591 Ответов: 1

Как можно поймать ошибку из sqlite


У меня есть база данных sqlite
при выполнении этой команды
Delete from Login;
Delete from Branch;
Delete from UserType;
Delete from Permision; 
Delete from GroupPermision;

Не удаляйте все данные из таблиц
Поэтому я хочу поймать ошибку

Что я уже пробовал:

Я пытался использовать Операция но не знал, как поймать ошибку

Richard MacCutchan

Какой язык и код вы используете?

1 Ответов

Рейтинг:
7

OriginalGriff

Транзакция не поймает ошибку, она позволяет вам изящно восстановиться после ошибки, используя откат, чтобы отменить все изменения.

Чтобы поймать ошибку, она будет зависеть от языка, с которого вы обращаетесь к SQLite.
Например, в C#:

using (SQLiteConnection con = new SQLiteConnection(strConnect))
    {
    con.Open();
    using (SQLiteTransaction trans = con.BeginTransaction())
        {
        using (SQLiteCommand cmd = new SQLiteCommand("DELETE FROM Login", con))
            {
            try
                {
                sqCommand.ExecuteNonQuery();
                sqCommand.CommandText = "DELETE FROM Branch";
                sqCommand.ExecuteNonQuery();
                trans.Commit();
                }
            catch(Exception e)
                {
                trans.Rollback();
                ... report problem, or log it ...
                }
            }
        }
    }