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