2012-01-22 8 views
1

私のAndroidアプリケーション用にレコードが挿入されたSQLiteデータベースがあります。スローされた例外のない不正な形式のSQLiteデータベース

スクリーン調査に回答を挿入していますが、1つの回答がテーブル内に1行に保存されています。

私のアンケートには20の質問があり、最初のアンケートではデータベースに正しく回答が挿入されますが、2番目のアンケートの回答を挿入すると(プログラム上同じ質問が表示されます)例外や何かを投げることはありません。私は前と後の整合性チェックを実行し、常に真を返します。

私のコンピュータ上のテーブルを見てみると、異常なのはそれだけです。私は、SQLiteデータベースブラウザツール、TKSQLiteツールを使用して、その後、提供されたsqlite3.exeからDBを開いてみました。それらはすべて、DBが不正な形式であると思われます。テーブルが不正であることをTKSQLiteツールが通知しても、他のテーブルにデータを取得できます。 SQLiteデータベースブラウザはテーブルにデータを表示せず、sqlite3.exeはテーブルを開きません。

非常に珍しい事は、私は、アプリ内のテーブルを照会し、猫を記録し、またはアプリ内のデータを使用するために、カーソル行をプリントアウトした場合、すべてのデータがあります。

例外がスローされることなく部分的な奇形のみを見たことがある人はいますか?データベースを元に戻したいと思っています...しかし、データがあれば、これ以上悪質なものにならないことを願っていますか?

私は今、同様のことをやっていくつかのプロジェクトのためのSQLiteデータベースで働いていたが、これは私が部分的にしか奇形を見ています初めてです。

それは私がまた、私は開口部を避けるために、静的なシングルトンを使用してデータベースにアクセスしていますし、各挿入のためにあまりにも多くの場合、データベースを閉じて、もともとハニカム3.2

にAcerのA501タブレットプログラミングを使用しています役立つ場合execSQL()を使用してSQLコマンドで挿入されましたが、SQLiteDatabaseメソッドinsert()を使用しても問題ありませんでした。

+1

私たちが助けになる情報はありません。 –

答えて

0

データベースが不正な形式であったものの、デバイス上に存在しない理由を把握しました。使用しているタブレットは、Windowsのポータブルメディアデバイスとしてカウントされ、デバイスからコンピュータにコピーするときに問題がありました。サムドライブを使用してデバイスからコピーし、次にサムドライブからWindowsにコピーすると、問題が解決しました。