0


我做了一个查询,使用 ID 从数据库中请求一个随机行。但我有一个小问题。如果它存在或不存在,我希望它显示一条消息。例如我的数据库是这样的:

ID - ingilizce - turkce
1 - hello - merhaba
4 - hi - selam

如您所见,第二和第三条记录不存在。我生成一个介于 1 和 4 之间的随机数,并得到属于 ID 的行。因此,当它生成一个像 2 或 3 这样的数字时,它会生成一个新的随机数。
我的代码在这里:

公共无效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 kayit3 = db.rawQuery("SELECT * FROM kelimeler WHERE id=" + rastgeleKayit, null);
kayit3.moveToFirst();
int kayitSayisi = kayit3.getCount();

if (kayitSayisi<1) {

    //Toast.makeText(getApplicationContext(), "bu kayıt yok", Toast.LENGTH_SHORT).show();
    //kelimeUret();

    // I COULDN'T DO HERE !

} else {

    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);

}

感谢您的回复...

4

1 回答 1

0
Cursor kayit3 = db.rawQuery("SELECT * FROM kelimeler WHERE id=" + rastgeleKayit, null);
kayit3.moveToFirst();

kayit3.getCount(); 将返回查询返回的记录数。如果没有记录,则它不存在。如果它返回多于 1 条记录,则该记录存在。

希望这可以帮助

于 2013-01-11T16:35:25.587 回答