Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / ошибка в транзакции / 2 сообщений из 2, страница 1 из 1
10.08.2010, 12:11
    #36783717
vaistas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в транзакции
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SQLite;
using System.Data.Common;

namespace baza
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            SQLiteTransaction trans;
            string SQL = "INSERT INTO aps (id, vardas,pavarde) VALUES(@id, @vardas, @pavarde)";
            SQLiteCommand cmd = new SQLiteCommand(SQL);
            cmd.Parameters.AddWithValue("@id", Guid.NewGuid());
            cmd.Parameters.AddWithValue("@vardas", this.textBox1.Text);
            cmd.Parameters.AddWithValue("@pavarde", this.textBox2.Text);
            cmd.Connection = sqLiteConnection1;
            sqLiteConnection1.Open();            
            trans = sqLiteConnection1.BeginTransaction();
            int retval =  0 ;
            try
            {
                retval= cmd.ExecuteNonQuery();
                if (retval ==  1 )
                   MessageBox.Show("Stroka dobavlena!");
                else
                   MessageBox.Show("Stroka ne dobavlena.");
            }
            catch (Exception ex)
            {
                trans.Rollback();
            }
            finally
            {
                trans.Commit();
                cmd.Dispose();
                sqLiteConnection1.Close();
            }
        }
    }
}
ругается на trans.Commit(); почему?
Модератор: Пользуйтесь кнопкой SRC
...
Рейтинг: 0 / 0
10.08.2010, 12:57
    #36783834
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в транзакции
Если произойдет исключение, то будет сначала вызван trans.Rollback а потом и trans.Commit.
trans.Commit надо перенести в конец try { }.
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / ошибка в транзакции / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]