2015-01-09 25 views
6

Pracuję z sqlite. Udało mi się stworzyć bazę danych i tabelę. Napisałem też kod, który może wstawiać nowe wartości do mojej tabeli. Mój kod działa idealnie, ale teraz chcę pokazać na przykład: komunikat tosty, jeśli wstawiono nową wartość, inaczej wyświetla komunikat o błędzie w toście lub coś innego. To jest moja wkładka do kodu źródłowego tabela:Android sqlite sprawdź czy wstawiono nową wartość

public void InsertToPhysicalPersonTable(String FirstName, String LastName, 
     String FullName, String FatherName) { 
    try { 
     ContentValues newValues = new ContentValues(); 
     newValues.put("FirstName", FirstName); 
     newValues.put("LastName", LastName); 
     newValues.put("FullName", FullName); 
     newValues.put("FatherName", FatherName); 



     db.insert(AddNewPhysicalPerson, null, newValues); 
    } catch (Exception e) { 
     // TODO: handle exception 
     e.printStackTrace(); 
     Toast.makeText(myContext, "Something wrong", Toast.LENGTH_SHORT).show(); 
    } 

} 

Zadzwoniłem moja funkcja tak:

loginDataBaseAdapter.InsertToPhysicalPersonTable("FirstName", 
        "LastName", 
        "FullName", 
        "FatherName" 
        ); 

Jeśli ktoś zna rozwiązanie, proszę mi pomóc. Dzięki

Odpowiedz

25

insert() metoda zwraca identyfikator wiersza nowo wstawionego wiersza lub -1, jeśli wystąpił błąd.

Zmień

db.insert(AddNewPhysicalPerson, null, newValues); 

jak ten

long rowInserted = db.insert(AddNewPhysicalPerson, null, newValues); 
if(rowInserted != -1) 
    Toast.makeText(myContext, "New row added, row id: " + rowInserted, Toast.LENGTH_SHORT).show(); 
else 
    Toast.makeText(myContext, "Something wrong", Toast.LENGTH_SHORT).show(); 
1
long result = db.insert(table name, null, contentvalues); 
     if(result==-1) 
      return false; 
      else 
      return true; 

jest to dobre rozwiązanie dla niego ..

Powiązane problemy