У меня есть приложение 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;");
}
}
Как мне решить эту проблему?