Java sqlite中的更新和删除
我一直在开发这个使用sqlite的应用程序,我想在调用函数时更新和删除行,主键作为函数中的参数传递。但是当调用函数时,表中看不到任何更新。我无法确定我哪里出了问题,错误是什么,请帮助 //创建表Java sqlite中的更新和删除,java,android,android-studio,Java,Android,Android Studio,我一直在开发这个使用sqlite的应用程序,我想在调用函数时更新和删除行,主键作为函数中的参数传递。但是当调用函数时,表中看不到任何更新。我无法确定我哪里出了问题,错误是什么,请帮助 //创建表 @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL("CREATE TABLE registerJob (JID INTEGER PRIMARY KEY AUTOI
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("CREATE TABLE registerJob (JID INTEGER PRIMARY KEY AUTOINCREMENT, JobProfile VARCHAR, Organisation VARCHAR, Location VARCHAR, AboutOrg VARCHAR, AboutJob VARCHAR, Incentives VARCHAR , Salary INTERGER, Number INTEGER, Category Varchar, Duration number,Twitter Varchar, Facebook Varchar, LinkedIn Varchar)");
}
//update vacancy
public void updateVacancy(String orgName,String aboutOrg, String jp, String l, String aoj, int s, String i, int n, int jid) {
try {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("JobProfile", jp);
contentValues.put("Organisation", orgName);
contentValues.put("Location", l);
contentValues.put("AboutOrg", aboutOrg);
contentValues.put("AboutJob", aoj);
contentValues.put("Incentives", i);
contentValues.put("Salary", s);
contentValues.put("Number", n);
db.update("registerJob",contentValues," JID= "+jid,null);
Toast.makeText(contexto, "Data updated", Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Toast.makeText(contexto, "DATABASE HELPER: Update vacancy "+e, Toast.LENGTH_SHORT).show();
}
}
//delete vacancy
public void deleteJob(int jid) {
try{
SQLiteDatabase db = this.getWritableDatabase();
db.delete("registerJob"," JID= "+jid,null);
}catch (Exception e){
Toast.makeText(contexto,"DATABASE HELPER deleteJob "+e,Toast.LENGTH_SHORT).show();
}
}
更新/删除后,必须对数据库调用close函数才能提交更改
db.close()
更新/删除后,必须对数据库调用close函数才能提交更改
db.close()
你犯了什么错误?您如何检查更新是否成功?我没有收到错误消息,只是数据没有得到更新或删除。要检查更新是否成功,我有一个活动来显示更新的数据。代码正确。现在您必须调试失败的地方。可能是架构或数据导致了错误。尝试运行测试命令,如db.execSQL(“updateregisterjobsetjobprofile='testing',其中id=1”),并检查是否反映了这一点。您遇到了什么错误?您如何检查更新是否成功?我没有收到错误消息,只是数据没有得到更新或删除。要检查更新是否成功,我有一个活动来显示更新的数据。代码正确。现在您必须调试失败的地方。可能是架构或数据导致了错误。尝试运行测试命令,如db.execSQL(“UPDATE registerJob SET JobProfile='testing',其中id=1”),并检查是否反映了这一点。我在代码中看不到任何问题。你有什么例外吗?您能在更新或删除之前检查一下表中是否有数据吗?没有例外,数据也保存在表中。这很奇怪。不知道为什么会这样?尝试调用此.close()而不是db.close()。请单击此按钮。关闭()。您可以在GitHub上或通过任何其他方式共享代码吗?我看不到代码中有任何问题。你有什么例外吗?您能在更新或删除之前检查一下表中是否有数据吗?没有例外,数据也保存在表中。这很奇怪。不知道为什么会这样?尝试调用此.close()而不是db.close()。请单击此按钮。关闭()。您可以在GitHub上或通过任何其他方式共享代码吗?