Sqlite IDbConnection - выполнение BeginTransaction - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть приложение Sqlite / C#, и я хочу запустить транзакцию, но я всегда получаю это исключение:

System.InvalidOperationException HResult = 0x80131509 message = Операция недействительна из-за текущей состояние объекта.
Quelle = System.Data.SQLite Stapelüberwachung: bei System.Data.SQLite.SQLiteConnection.BeginDbTransaction (IsolationLevel изоляцияLevel) bei System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction () bei CsvCompare.database.importCSVtoDB (список списков1, таблица строк) в C: \ Users \ Luis \ source \ repos \ CsvCompare \ CsvCompare \ database.cs: Zeile40 bei CsvCompare.Form1.button1_Click (отправитель объекта, EventArgs e) в C: \ Users \ Luis \ source \ repos \ CsvCompare \ CsvCompare \ Form1.cs: Zeile29
bei System. Windows .Forms.Control.OnClick (EventArgs e) bei System. Windows .Forms .Button.OnClick (EventArgs e) bei System. Windows .Forms.Button.OnMouseUp (MouseEventArgs mevent) bei System. Windows .Forms.Control.WmMouseUp (Message & m, MouseButtons) кнопка, Int32 щелкает). bei System. Windows .Forms.Control.WndPro c (Message & m) bei System. Windows .Forms.ButtonBase.WndPro c (Message & m) bei System. Windows. Forms.Button.WndPro c (Message & m) для системы. Windows .Forms.Control.ControlNativeWindow.OnMessage (Message & m) для системы. Windows .Forms.Control.ControlNativeWindow.WndPro c (Сообщение & m ) bei System. Windows .Forms.NativeWindow.DebuggableCallback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) bei System. Windows .Forms.UnsafeNativeMethods.DispatchMessageW (MSG & msg)
be. * .Forms.Application.ComponentManager.System. Windows .Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageL oop (IntPtr dwComponentID, причина Int32, Int32 pvLoopData) в системе. Windows. причина, контекст ApplicationContext) bei System. Windows .Forms.Application.ThreadContext.RunMessageL oop (причина Int32, контекст ApplicationContext) bei System. Windows .Forms.Application.Run (Form mainForm) be i CsvCompare.Program.Main () в C: \ Users \ Luis \ source \ repos \ CsvCompare \ CsvCompare \ Program.cs: Zeile19

Я перевел выполнение. Если вы что-то не поняли, дайте мне знать.

Вот код:

 public static void importCSVtoDB(List<customer> clist,string table)
        {
            string query = "";

            foreach (customer c in clist)
            {
                query +=  "INSERT INTO " + table + "(adress,name,zipcode,city) VALUES('" + c.adress + "','" + c.name + "'," + c.zipcode + ",'" + c.city + "');\n";
            }


            using (IDbConnection db = new SQLiteConnection(loadconnectionstring()))
            {
                db.BeginTransaction();
                db.Execute(query + "COMMIT;"); 

            }
        }

Как мне решить эту проблему?

...