android sqlite 检查是否插入了新值

android sqlite check if inserted new value

我正在使用 sqlite。我成功创建了数据库和 table。我还编写了可以在 table 中插入新值的代码。我的代码运行完美,但现在我想显示例如:如果插入新值,则显示吐司消息,否则在吐司或其他内容中显示错误消息。 这是我对 table 源代码的插入:

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

如果有人知道解决方法,请帮助我。 谢谢

insert() 方法 returns 新插入行的行 ID,如果发生错误则为 -1。

改变

db.insert(AddNewPhysicalPerson, null, newValues);

像这样

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();
long result = db.insert(table name, null, contentvalues);
      if(result==-1)
          return false;
           else
          return true;

这是一个很好的解决方案..

这是另一种方式:-

我不知道我是否来不及你的项目,但你有没有想过.lastrowid

这是我所做的示例 last_rec=self.cursor.lastrowid 因此 lastrec 将插入最后一行的编号。

这是来自sqlite.org

的信息

希望对您或对此有疑问的任何人有所帮助。

谨致问候,祝一切顺利:¬)