我已经编写了一种方法,用于保存数据。方法必须返回false但返回true。我的代码在这里;
private boolean baskaVarMi(String gelenTarih) {
boolean sonuc = false;
int k = 0;
SQLiteDatabase db = dbo.getReadableDatabase();
String sql = "select * from gunlukler where tarih='" + gelenTarih + "'";
Cursor c = db.rawQuery(sql, null);
if (c.moveToFirst()) {
do {
if (c.getString(c.getColumnIndex("tarih")) == gelenTarih) {
k++;
}
} while (c.moveToNext());
}
if (k > 0) {
sonuc = true;
}else if(k == 0){
sonuc = false;
}
return sonuc;
}
这种方法有什么问题?
答案 0 :(得分:2)
随之改变:
Cursor c = db.rawQuery(sql, null);
if (c.getCount()>0) {
c.moveToFirst()
do {
if (c.getString(c.getColumnIndex("tarih")).equals(gelenTarih)) {
k++;
}
} while (c.moveToNext());
}
答案 1 :(得分:1)
尝试这种方式......
Cursor cur = db.query(SQL_TABLE, new String[] { URLNAME,ID,URLVALUE }, null, null,
null, null, null); // query..
答案 2 :(得分:0)
c.getString(c.getColumnIndex("tarih")) == gelenTarih
不对。跟着
c.getString(c.getColumnIndex("tarih")).equals( gelenTarih)
答案 3 :(得分:0)
仅使用此
private boolean baskaVarMi(String gelenTarih) {
SQLiteDatabase db = dbo.getReadableDatabase();
String sql = "select * from gunlukler where tarih='" + gelenTarih + "'";
Cursor c = db.rawQuery(sql, null);
if (c.moveToFirst())
{
return true;
}
else
{
return false;
}
}