Android 比较记录与数据库记录是否存在
我编写了下面的代码,用于将记录与数据库记录进行比较Android 比较记录与数据库记录是否存在,android,sqlite,Android,Sqlite,我编写了下面的代码,用于将记录与数据库记录进行比较 public void onClick(View v) { if(v.equals(add)) { if(ifExisting()) { insert(); Log.e("Data Inserting","true"); Intent i=new Intent(AddCategory.this,ShareFolioActivity.class); startActi
public void onClick(View v) {
if(v.equals(add))
{
if(ifExisting())
{
insert();
Log.e("Data Inserting","true");
Intent i=new Intent(AddCategory.this,ShareFolioActivity.class);
startActivity(i);
//Toast.makeText(AddCategory.this, "Already exists",Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(AddCategory.this, "Already exists",Toast.LENGTH_LONG).show();
Log.e("Data Inserting","false");
}
}
}
boolean ifExisting() {
Log.e("wquery","SELECT * FROM sharelist WHERE category='"+category.getText().toString()+"'");
Cursor c = db.rawQuery( "SELECT category FROM sharelist WHERE category='"+category.getText().toString()+";'",null);
if(c.getCount()==-1)
{
Log.e("Condition true","true");
return false;
}
else
{
Log.e("Condition true","false");
return true;
}
}
您有if(ifExisting())
{
插入();
如果(!ifExisting()),它不应该是if吗
{
插入();
否则,如果查询返回0行,您将插入。您似乎希望
c.getCount()
将是-1。为什么它不返回0?(我不记得看到过返回-1的情况,但可能是我的内存有问题。)
在任何情况下,检查
c.getCount(),现在没有任何记录进入(即显示“已存在”)
Cursor c = db.rawQuery( "SELECT category FROM sharelist WHERE category='"+category.getText().toString()+";'",null);