Sqlite DB не возвращает данные - PullRequest
0 голосов
/ 28 мая 2018

Я пытался вставить некоторые данные в мою таблицу, даже если они были вставлены, когда я пытался выбрать все данные, db не возвращая никаких данных.

вот мой код:

Этомой DBHelper

public boolean insertTransaksi (String timestamp, String jenis_tiket, String jumlah_orang, String total_biaya, Integer status) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put("timestamp", timestamp);
    contentValues.put("jenis_tiket", jenis_tiket);
    contentValues.put("jumlah_orang", jumlah_orang);
    contentValues.put("total_biaya", total_biaya);
    contentValues.put("status", status);
    db.insert(TRANSAKSI_TABLE, null, contentValues);
    return true;
}

public ArrayList<String> getAllTransaksi() {
    ArrayList<String> array_list = new ArrayList<>();

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor =  db.rawQuery( "select * from "+TRANSAKSI_TABLE, null );
    cursor.moveToFirst();

    while(!cursor.isAfterLast()){
        array_list.add(cursor.getString(cursor.getColumnIndex("jumlah_orang")));
        cursor.moveToNext();
    }
    return array_list;
}

И здесь я попытался вставить и выбрать данные:

                if(db.insertTransaksi(timestamp, jenistTiket, jumlah, tHarga, 0)){
                    System.out.println("inserted");
                    ArrayList allTransaksi = db.getAllTransaksi();
                    Iterator iter = allTransaksi.iterator();
                    while (iter.hasNext()) {
                        System.out.println(iter.next());
                    }
                }else{
                    System.out.println("fail insert");
                }

logcat, возвращающий «вставлено», как я установил, если команда истинна.Пожалуйста, помогите, заранее спасибо.

1 Ответ

0 голосов
/ 28 мая 2018

Используйте

 long insertOrThrow (String table, 
                String nullColumnHack, 
                ContentValues values)

вместо insert(), а также проверьте возвращаемое значение, которое является идентификатором новой вставленной строки.

...