2012-04-13 14 views
0
gesperrt

ich den Fehler als SQLITE database file was locked bekommen, wenn ich die Verbindung mehrfach zu öffnen versucht, dies ist es, was ichSQLite-Datenbank-Datei wurde

if (m_oDataSet2.Tables["401k"].Rows.Count != 0) 
{ 
    double maxlimit; 
    using (SQLiteConnection conn = new SQLiteConnection("Data Source=" + path + "")) 
    { 
     conn.Open(); 
    } 
} 

Auf den ersten geschrieben haben, traf es ausgeführt wird gut, wenn es für die geloopt Zum zweiten Mal bekomme ich diesen Fehler, wie Sie dies beheben können

+0

Zu welcher Bibliothek gehört der Typ SQLiteConnection? Wo hast du diese Bibliothek her? –

+0

Es ist aus dem Anwendungsordner 'myapplication/DB/db.db' – Dotnet

+0

Wenn Sie die Definition dieses Typs haben, können Sie es buchen? –

Antwort

2

Versuchen Sie, die Verbindung jedes Mal zu schließen, nachdem Sie damit fertig sind. Oder öffnen Sie es einfach beim Programmstart und behalten Sie die Verbindung während der gesamten Lebensdauer Ihrer App.

+0

Ich denke' using (SQLiteConnection conn = neue SQLiteConnection ("Data Source =" + Pfad + "")) 'wird Schließen Sie automatisch das Verbindungsrecht – Dotnet

+0

Vermutlich, aber warum sollten Sie diese Annahme machen, es sei denn, Sie wissen aus der Tatsache, dass der Finalizer von SQLiteConnection die Verbindung schließt? –

+0

Danke 'Graham Borland' – Dotnet

-1

Nur einfügen conn.close(); vor catch (ClassNotFoundException ex)