2015-01-09 10 views
6

私はsqliteを使っています。私は正常にデータベースとテーブルを作成しました。私はテーブルに新しい値を挿入できるコードも書いていました。私のコードは完璧に動作していますが、今は例を挙げてみましょう。新しい値を挿入する場合はメッセージをトーストし、そうでなければトーストなどのエラーメッセージを表示します。 これは、テーブルのソースコードに私のインサートである:android sqliteが新しい値を挿入した場合にチェックする

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

} 

私はこのように私の関数を呼び出した:

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

誰もが解決策を知っている場合は、私を助けてください。 ありがとう

答えて

25

insert()メソッドは、新しく挿入された行の行IDを返します。エラーが発生した場合は-1を返します。この

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; 

よう

変更

db.insert(AddNewPhysicalPerson, null, newValues); 

これはそれのために良い解決策..です

関連する問題