2014-12-30 2 views
1

Я пытаюсь удалить базу запросов в приложении, но у меня есть небольшая проблема. так, в удаления кода у меня есть 4 случая:База данных запросов на удаление Android

  1. база данных пуста -> СООБЩЕНИЕ TOAST DATABASE EMPTY
  2. txtfield пусто -> СООБЩЕНИЕ TOAST TXTFIELD EMPTY
  3. слова txtfield не найдены в БД -> MESSAGE TOAST не слово не найдено
  4. удален OK -> Удалить запрос + TOAST УВЕДОМЛЕНИЕ

Моя проблема 3 ° случай, я использую внешний метод, чтобы проверить, если слова существует в БД! это код:

public boolean trovato(String n){ 

    boolean find = false; 
    int k=0; 

    Cursor c=db.rawQuery("SELECT * from TABLE_NAME", null); 
    int count= c.getCount(); 
    c.moveToFirst(); 

    String[] nomi = new String[count]; 


    while(c.moveToNext()) 
    { 
     nomi[k]= c.getString(c.getColumnIndex("fname")); 
     if(nomi[k].equalsIgnoreCase(n)){ 
      find = true; 
      break; 
     }else{ 
      k++; 
     } 


    } 
    return false; 
} 

public void delete(View data){ 

    EditText delete=(EditText)findViewById(R.id.txtdel); 
    String delete2 = delete.toString(); 
    Cursor c=db.rawQuery("SELECT * from TABLE_NAME", null); 
    int count= c.getCount(); 

    if(count==0){ 
     Toast.makeText(getApplicationContext(),"DATABASE VUOTO",Toast.LENGTH_LONG).show(); 
    } 

    else if(delete.getText().toString().trim().length()==0){ 
     Toast.makeText(getApplicationContext(),"STRINGA VUOTA, RIPROVA", Toast.LENGTH_LONG).show(); 

    }else if(trovato(delete.toString())){ 

     Toast.makeText(getApplicationContext(),"NON ESISTE !!!!",Toast.LENGTH_LONG).show(); 
    }else{ 
     db.execSQL("DELETE FROM TABLE_NAME WHERE fname='"+delete.getText()+"'"); 
     Toast.makeText(getApplicationContext(),"DELETE OK",Toast.LENGTH_LONG).show(); 
    } 
} 

ответ

3

В функции Trovato (String п), вы всегда возвращаетесь ложью.

Должно быть:

return find; 

Intead из

return false; 
+0

Это кажется Затмение автозаполнения ошибку ... – Izuel

+0

я заменить возвращение, но до сих пор не работает .. способ идти в 4 ° случай! –

+0

Вы также должны написать delete.getText(). ToString() вместо delete.toString(), чтобы получить текст, записанный в EditText – migue02

Смежные вопросы