「カーソル」を使用してSQLiteデータベースのデータを読み取ることについてはあまり知識がありませんが、いくつかの参照と例を使用してこれを設定するためにいくつかコンパイルしました。なぜデータベースから読み取るのかわからないので、データがデータベースに入力されているかどうかを確認します。データベースブラウザとその現在の誰かがこれを機能させる方法を教えてもらえますか?
指定された値の長い値を持つすべてのフィールドを取得する関数があるという点で、db接続とクエリを保持する別のクラスがあります
public Cursor getAppointments(long date) throws SQLException
{
Cursor mCursor =
db.query(true, DATABASE_TABLE, new String[] {
KEY_ROWID,
APP_TIME,
APP_TITLE,
},
APP_DATE + "=" + date,
null,
null,
null,
null,
null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
このコードが行うことになっているのは、クエリされた値として対応する日付を持つすべてのレコードを取得して返すことです。
これでメインクラスに、このコードをキャッチしてTextviewに行ごとに表示することができます。
db.open();
Display.setText("");
Cursor c = db.getAppointments(SDate);
if (c.moveToFirst())
Display.setText(DisplayTitle(c));
else
Toast.makeText(this, "No title found",
Toast.LENGTH_LONG).show();
db.close();
タイトルの表示方法は
private String DisplayTitle(Cursor c) {
String Final ="";
Final = c.getString(1) + " " +c.getString(2) + " " + c.getString(3) + "\n" ;
return Final;
}
日付と同じlong値を持つレコードを取得してテキストビューに表示するために必要な変更を教えてもらえますか?同じlong値を持つ複数のレコードが存在する可能性があるため、日付に同じ長い値を設定し、テキストビューに表示します。
乾杯、迅速な返信を待っています。:)