我做了一個應用程序,它可以從數據庫中生成隨機字。但有這樣的問題:
我插入一些行到數據庫和ID字段是AUTOINCREMENT。我從數據庫中得到一個隨機單詞。但是,當我刪除一條記錄並插入新記錄時,如您所知,該ID正在跳過舊記錄。
因此,當我嘗試獲取一個隨機單詞時,可能會發生錯誤。我怎麼解決這個問題?
感謝您響應......從數據庫中生成除ID字段以外的隨機字
public void kelimeUret() {
SQLiteDatabase db = kelimeler.getReadableDatabase();
rastgele = new Random();
Cursor kayit = db.rawQuery("SELECT count(*) FROM kelimeler", null);
kayit.moveToFirst();
int max = Integer.parseInt(kayit.getString(0));
int min = 1;
int rastgeleKayit = rastgele.nextInt(max - min + 1) + min;
Cursor kayit2 = db.rawQuery("SELECT ingilizce FROM kelimeler WHERE id=" + rastgeleKayit, null);
kayit2.moveToFirst();
String sonuc = kayit2.getString(0);
olusturulanKelime = sonuc;
kelime = (TextView) findViewById(R.id.kelime);
kelime.setText(sonuc);
}
我的代碼是在這裏。其實沒有問題。有用。但是,如果隨機生成之前從數據庫中刪除的標識,則會發生錯誤。我認爲我應該爲記錄生成一個有序數字,但我找不到這樣做的方式。我想用另一種方式來做。 (不在身份證上)
請發佈您的代碼和錯誤信息 –
請編輯您的問題。該代碼對我們來說會更好的可讀性。 –