2016-07-01 16 views
2

sqliteデータベースに接続するjavafxでシンプルなGUIを作成しました。目的は、単純なQAゲームとして、ユーザーのデータベースと質問のデータベースを作成することです。すべてうまく動作します。SQlite:データベースファイルがロックされています(データベースがロックされています)

[SQLITE_BUSY]データベースファイルがロックされている(データベースがロックされている)

ゲームが遅いと立ち往生されて開始されます。しかし、私は次のような奇妙な問題を受けていますしばらく、私は、次のメッセージが表示されました時々。そのエラーの理由は何ですか?このメッセージは、データベースが常に開いているためですか?時々私はゲームを再開するアプリケーションを終了しますが、私は再びメッセージを受け取ります。

EDIT:変数Connectionをチェックする必要がありますか?

Connection conQuestions= null, conUsers = null; 

答えて

2

データベースに複数の接続を確立していませんか?あなたがいる場合は、接続が1つしかないかどうかをチェックするように実装してください。データベースは、あなたが行うことができます開いている場合

確認するには:

if(yourConnection.isOpen()){ 
    doSomething(); //Maybe you want to close it here, if thats the case 
    yourConnection.close(); 
} 
+0

をはい、私がPreparedStatementのPST = gui.connectionQuestions.prepareStatement(SQL)を呼び出すようです。すべての質問に対して –

+0

ステートメントが同じ接続を介して作成されている限り、問題はありません。 – Fildor

+0

ええ、問題はゲームの同じセッションではなく、ゲームのいくつかの開閉後です。 Javaゲームが終了してもデータベースがまだ開いている可能性はありますか? –

関連する問題