我做了一个查询,使用ID从数据库请求一个随机行。但我有一点问题。我希望它显示一条消息,如果它存在或不存在。例如我的数据库如下:
ID - ingilizce - turkce
1 - 你好 - merhaba
4 - hi - selam
如您所见,第二和第三条记录不存在。我生成1到4之间的随机数,我得到属于ID的行。因此,当它生成一个像2或3的数字时,它将生成一个新的随机数
我的代码在这里:
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 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);
}
感谢您的回复...
答案 0 :(得分:0)
Cursor kayit3 = db.rawQuery("SELECT * FROM kelimeler WHERE id=" + rastgeleKayit, null);
kayit3.moveToFirst();
kayit3.getCount();将返回查询返回的记录数。如果没有记录,则它不存在。如果它返回多于1条记录,则记录存在。
希望这有帮助