カーソルを使用して、アプリにあるsqliteデータベースにアクセスしています。
データベースで.getInt()を使用するのに問題があります。私のデータベースは事前に作成されており、情報とやり取りするためのクエリを実行するカーソルがいくつかあります。表の1つの列のいくつかは、INTEGER型として設定されています。sqliteには、列が実際にINTであることを確認するためのチェックが組み込まれていないことに気付きました。ただし、データを取得するときは、.getString()関数を問題なく使用できますが、.getInt()を呼び出すとアプリがクラッシュします。以下は関連するコードです。足りないものがあればお知らせください。追加します。
どんな助けでも大歓迎です。どうもありがとうございます。
カーソル:
public Cursor getSkitStats(int module, int skit) {
Cursor mCursor = myDataBase.rawQuery("SELECT * FROM score WHERE mod="+module+" AND skit="+skit+"", null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
単純なToast呼び出しを使用して、クエリの結果を出力しています。
Toast.makeText(getApplicationContext(), scoreContent.getInt(0), Toast.LENGTH_SHORT).show();
変数scoreContentはカーソルです。
そして、これがクラッシュ出力です:
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.app.ActivityThread.access$1500(ActivityThread.java:121)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.os.Handler.dispatchMessage(Handler.java:99)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.os.Looper.loop(Looper.java:130)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.app.ActivityThread.main(ActivityThread.java:3701)
07-08 23:53:31.726: E/AndroidRuntime(15685): at java.lang.reflect.Method.invokeNative(Native Method)
07-08 23:53:31.726: E/AndroidRuntime(15685): at java.lang.reflect.Method.invoke(Method.java:507)
07-08 23:53:31.726: E/AndroidRuntime(15685): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
07-08 23:53:31.726: E/AndroidRuntime(15685): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
07-08 23:53:31.726: E/AndroidRuntime(15685): at dalvik.system.NativeStart.main(Native Method)
07-08 23:53:31.726: E/AndroidRuntime(15685): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.content.res.Resources.getText(Resources.java:205)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.widget.Toast.makeText(Toast.java:258)
07-08 23:53:31.726: E/AndroidRuntime(15685): at jp.atomicideas.ne.Summary.onCreate(Summary.java:90)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-08 23:53:31.726: E/AndroidRuntime(15685): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
07-08 23:53:31.726: E/AndroidRuntime(15685): ... 11 more