データを降順で取得し、逆順でテキストビューに表示すると、最新のエントリが最初に表示されます。降順でsqliteからデータを取得してテキスト表示で表示する方法
このクエリは
顧客が第一テーブルと歴史の表であるMySQLで正しいですが、顧客を持っている過去のデータ
アプリが正常に動作しているが、私はDESCの順序でデータを取得しようとしたときには、残念ながら閉鎖されます。
でも、残念ながら私はただ1つの "コスト"の列にしようとしています。上記のコードで
public StringBuilder getData(String custname)
{
String query="select h.lsd , h.work,h.cost from "+c_tablename+" c, "+h_tablename+" h where name='"+custname+"' and c.bike_number=h.bike_number ORDER BY lsd DESC";
SQLiteDatabase sqLiteDatabase=this.getReadableDatabase();
Cursor cursor=sqLiteDatabase.rawQuery(query,null,lsd+"DESC");
StringBuilder stringBuilder =new StringBuilder();
cursor.moveToFirst();
if (cursor !=null)// cursor!=null error -- android.database.CursorIndexOutOfBoundsException: Index 0 requested,
{
do {
//cursor.moveToFirst();
String lsd=cursor.getString(cursor.getColumnIndex("lsd"));
stringBuilder.append("Date:"+lsd+"\n");
String lwd=cursor.getString(cursor.getColumnIndex("work"));
stringBuilder.append("Work:"+lwd+"\n");
String cost=cursor.getString(cursor.getColumnIndex("cost"));
stringBuilder.append("Cost:"+cost");
}while (cursor.moveToNext());
cursor.close();
}
return stringBuilder;
}
クエリが正しい実行さ
ストリングクエリは=場所名+ c_tablename + "C "+ h_tablename +" H」からh.lsd、h.work、h.cost選択" まで= '"+ custname +"'とc.bike_number = h.bike_number ";
と
第一エントリの第一及び最後の最後のエントリなどのデータを表示するが、私はアプリDESC LSDによって句の順序によって順序を置くとき、残念ながら閉鎖されます。
String query="select h.lsd , h.work,h.cost from "+c_tablename+" c, "+h_tablename+" h where name='"+custname+"' and c.bike_number=h.bike_number ORDER BY lsd DESC";
01-12 23:57:16.5994046-4059 /? W/SQLiteConnectionPool:データベース '+ data + user + 0 + com_google_android_gms + databases + metrics_db'のSQLiteConnectionオブジェクトがリークしました!進行中のトランザクションを正常に終了するようにアプリケーションを修正し、不要になった時点でデータベースを閉じるようにしてください。
を試してみてください
のような書き込みクエリに特異的であることの両方のテーブルに
lsd
列があるかもしれないので、「アプリが、残念ながら閉じています」クラッシュです、logcatからstacktraceを提供してください –