SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Bagaimana cara mengatur teks ke tombol secara acak dari SQLite tanpa pengulangan?

ada lebih banyak pendekatan untuk menyelesaikan masalah Anda:

  1. jalankan pernyataan sql (tanpa batasan) di awal dan pindah ke entri kursor berikutnya ketika pertanyaan dijawab dengan benar
  2. menyangga pertanyaan yang sudah dijawab

pendekatan kedua dapat dilakukan sebagai berikut:

pertama, ubah metode dan sql Anda, termasuk klausa where:

public Cursor getTestData(String whereClause)
 {;
     try
     {
         String sql ="SELECT * FROM tblPitanja WHERE 1 = 1 " + whereClause + " ORDER BY RANDOM() LIMIT 1";
         [...]

kedua, buffer pertanyaan yang sudah dijawab di kelas game Anda:

tambahkan LinkedList ke kelas game Anda

LinkedList<Long> mAnsweredQuestions = new LinkedList<Long>();

tambahkan pertanyaan yang sudah dijawab ke LinkedList:

Cursor c = mDbHelper.getTestData(generateWhereClause());
mAnsweredQuestions.add(c.getLong(0));
List<Answer> labels = new ArrayList<Answer>();
[...]

tambahkan fungsi yang menghasilkan klausa where:

private String generateWhereClause(){
    StringBuilder result = new StringBuilder();
    for (Long l : mAnsweredQuestions){
         result.append(" AND " + YOURID + " <> " + l);
    }
    return result.toString();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.OutOfMemoryError:[memori habis] saat membaca data dari Sqlite Android

  2. Bagaimana cara mengimplementasikan database SQLite untuk menyimpan Gambar dan Teks Bitmap?

  3. Format Hasil Kueri SQLite sebagai Daftar yang Dipisahkan Koma

  4. Kirim aplikasi dengan database

  5. Mengapa saya mendapatkan java.lang.IllegalArgumentException:nilai pengikatan pada indeks 1 adalah nol dalam kasus ini?