0

sqlite db にあるデータをスピナーに表示します。表示は簡単ですが、db に追加したデータを取得できません。コードは次のとおりです。

public class MainActivity extends Activity {

private Spinner spinner;
private SQLiteDBOlustur sqlnesne;
private SQLiteDatabase db;
private ContentValues cv;
private Cursor cursor;
private ArrayList<String> arr;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    spinner = (Spinner) findViewById(R.id.spinnerIller);
    arr = new ArrayList<String>();
    veriEkle();

    db = sqlnesne.getReadableDatabase();
    cursor = db.rawQuery("select * from iller", null);

    if (cursor.moveToFirst()) {
        do {
            arr.add(cursor.getString(cursor.getColumnIndex("adsoyad")));
        } while (cursor.moveToPrevious());
    }


    for (int i = 0; i < arr.size(); i++) {
        System.out.println(arr.get(i));
    }

}

私だけが最後に追加されたデータを見ることができます。

また、これらはデータメソッドを追加しています。

  private void veriEkle() {
   sqlnesne = new SQLiteDBOlustur(getApplicationContext());
   db = sqlnesne.getWritableDatabase();
   cv = new ContentValues();

       cv.put("il_adi", "Yalova");
   cv.put("il_adi", "Karabük");
   cv.put("il_adi", "Kilis");
   cv.put("il_adi", "Osmaniye");
   cv.put("il_adi", "Düzce");

    try {
        db.insert("iller", null, cv);
        Toast.makeText(getApplicationContext(), "Veriler eklendi!",
                Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
4

3 に答える 3

1

で置き換えcursor.moveToPrevious()てみcursor.moveToNext()て、カーソルを戻すのではなく前に進めるようにします。

于 2013-08-31T01:44:30.313 に答える
0

これを試して

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spinner = (Spinner) findViewById(R.id.spinnerIller);
    arr = new ArrayList<String>();

    veriEkle();

        String Table_Name="name of table";

        String selectQuery = "SELECT  * FROM " + Table_Name;
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor cursor = db.rawQuery(selectQuery, null);
        String[] data = null;

        if (cursor.moveToFirst()) {
            do {
               // get  the  data into array,or class variable
              // process your data here.
            } while (cursor.moveToNext());
        }
}

それがあなたを助けることを願っています。

于 2013-08-31T05:29:39.703 に答える