我正在使用sqlite。我成功创建了数据库和表。我还编写了可以在我的表中插入新值的代码。我的代码工作正常,但现在我想显示例如:如果插入新值,则显示toast消息,否则在toast或其他内容中显示错误消息。 这是我对表源代码的插入:
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"
);
如果有人知道解决方案,请帮助我。 感谢
答案 0 :(得分:31)
insert()
方法返回新插入行的行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();
答案 1 :(得分:2)
long result = db.insert(table name, null, contentvalues);
if(result==-1)
return false;
else
return true;
这是一个很好的解决方案..
答案 2 :(得分:0)
这是另一种方式:-
我不知道我为您的项目来不及,但是您是否想到了.lastrowid
?
这里是我last_rec=self.cursor.lastrowid
做的一个示例,因此lastrec
将插入最后一行的编号。
希望对您有所帮助,或者您对此有任何疑问的人。
致以最诚挚的问候:¬)
joe