-2

グループでデータを表示したい sqlite データベースがあります。しかし、sqlite は最後の列のデータのみを表示しています。私のコードは次のとおりです。

        String q="Select * from events";

        Cursor m = eventsDB.rawQuery(q, null);


            if(m.moveToFirst() )
                while(m.moveToNext()){
            {
            String curevent = m.getString(m.getColumnIndex("name"));
            String curdate = m.getString(m.getColumnIndex("date"));

            evname.setText(curevent);
            }

            }
            else {
                evname.setText("Not found");


            }

すべてのデータを表示するにはどうすればよいですか?

4

3 に答える 3

0

それがあなたがAndroidにやるように言っていることです。のすべての行をループCursorし、同時にテキストを設定しています。最後の行は、最後の行であるため、表示されるものです。Cursor

于 2013-09-14T19:25:04.707 に答える
0

すべてのデータを表示するにはどうすればよいですか?

このメソッドを使用して、テーブルからすべてのデータを取得します

public String getAllData() {
    String[] columns = new String[] { name, date };
    Cursor c = ourDatabase.query(table_name, columns, null, null, null,
            null, null);
    String someresult = "";
    int iName = c.getColumnIndex(name);
    int iDate = c.getColumnIndex(date);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        someresult += c.getString(iName ) + "\n" + c.getString(iDate )
                + "\n";
    }

    return someresult;
}

name と date は列名であり、クラスourDatabaseのインスタンスです。SQLiteDatabase

さらに列がある場合は、列名を String 配列に追加してから、各インデックスをフェッチし、getString() を介してすべてのデータをフェッチします。

于 2013-09-14T19:25:23.763 に答える
0

すべての名前を単一のテキストビューに設定する場合は、これを行います。

  String q="Select * from events";

    Cursor m = eventsDB.rawQuery(q, null);
        String allnames="";
         String abc[]={"","","","","","","","","","","","","","",""};
        int q=0
        if(m.moveToFirst() )
            while(m.moveToNext()){
        {
        String curevent = m.getString(m.getColumnIndex("name"));
        String curdate = m.getString(m.getColumnIndex("date"));

        abc[q]=curevent;

        allnames=allnames+abc[q];
        evname.setText(allnames);
        q++
        }

        }
        else {
            evname.setText("Not found");


        }
于 2013-09-14T19:57:02.247 に答える