クエリがしばらく機能し、その後機能しなくなったという交絡の問題があります。トライ アンド キャッチでは、null カーソルを返すだけでエラーは発生しませんか?
クエリを実行して最初に結果を確認したり、エラーを確認したりできる GUI はありますか? おそらくキーのような微妙なものでしょうか? データ型を確認しましたが、他にどこを見ればよいかわかりません。この種の問題をどのようにデバッグするかについては、今後の懸念があります。
前もって感謝します。
コード セットは 1 つのテーブルで正常に動作しますが、2 つのテーブルを結合すると失敗します (昨日は動作しました)。
働く:
String selectQuery =
SELECT ou.*,"name" as Orchard_Name FROM " + TABLE_TP_ORCHARD_USER ou ;
この場合、結合されたクエリでは機能しません:
String selectQuery = "SELECT ou.tp_orchard_user_Orchard_ID as
tp_orchard_user_Orchard_ID,ou.tp_orchard_user_User_ID as
tp_orchard_user_User_ID,sd.Orchard_Name as Orchard_Name FROM " +
TABLE_TP_ORCHARD_USER + " ou JOIN " + TABLE_SD_ORCHARD + " sd on
ou.tp_orchard_user_Orchard_ID=sd.Orchard_Id" ;
別の DB の mysql でこのコードを実行しましたが、問題ありません。日食が表示できない別のエラーがあるようですか? それとも方法がわかりませんか?
私のコードサンプルは次のとおりです。
SQLiteDatabase db = this.getReadableDatabase();
Cursor daCursor = db.rawQuery(selectQuery,null);
if (daCursor != null) {
if( daCursor.moveToFirst() ){
do{
// String Orchard_ID =
daCursor.getString(daCursor.getColumnIndex("Orchard_Id"));
String Orchard_ID = daCursor.getString(0);
Log.i("dbhandler fetchAllOrchards cursor Orchard_ID",
Orchard_ID);
Log.i("dbhandler fetchAllOrchards cursor Orchard_ID",
Orchard_Name);
} while (daCursor.moveToNext());
} else{
Log.i("cursor is false","fail");
}
}