Java 更新SQLITE数据库中的信息
我试图通过使用sqlitedatabase更新listview上的信息,因此在我的更新类中,我得到了一个错误,它出现在图片上 以下是dbhelper方法代码:Java 更新SQLITE数据库中的信息,java,android,Java,Android,我试图通过使用sqlitedatabase更新listview上的信息,因此在我的更新类中,我得到了一个错误,它出现在图片上 以下是dbhelper方法代码: public int updateInformation(String old_name, String new_name,String old_hours, String new_hours, String old_department,String new_department,SQLiteDatabase sqLiteDataba
public int updateInformation(String old_name, String new_name,String old_hours, String new_hours, String old_department,String new_department,SQLiteDatabase sqLiteDatabase) {
ContentValues contentValues = new ContentValues();
contentValues.put(UserContract.NewUserInfo.Name,new_name);
contentValues.put(UserContract.NewUserInfo.RenderedHours,new_hours);
contentValues.put(UserContract.NewUserInfo.Department,new_department);
String selection = UserContract.NewUserInfo.Name + " LIKE ?";
String[] selection_args = {old_name};
int count = sqLiteDatabase.update(UserContract.NewUserInfo.TABLE_NAME,contentValues,selection,selection_args);
return count;
}
更新类别代码:
public void updateContact(View view) {
userDBHelper = new UserDBHelper(getApplicationContext());
sqLiteDatabase = userDBHelper.getWritableDatabase();
String name,hours,department;
name = new_name.getText().toString();
hours = new_hours.getText().toString();
department = new_department.getText().toString();
int count = userDBHelper.updateInformation(search_id,NewName,NewHours,NewDepartment,sqLiteDatabase);
}
}
编辑:我将代码更改为:
public void updateContact(View view) {
userDBHelper = new UserDBHelper(getApplicationContext());
sqLiteDatabase = userDBHelper.getWritableDatabase();
String name,hours,department;
name = new_name.getText().toString();
hours = new_hours.getText().toString();
department = new_department.getText().toString();
int count = userDBHelper.updateInformation(search,name,hours,department,sqLiteDatabase);
}
int count = userDBHelper.updateInformation(search_id,name,hours,department,sqLiteDatabase);
public int updateInformation(String old_name, String new_name, String new_hours,String new_department,SQLiteDatabase sqLiteDatabase)
我还是会犯错误,我不明白
第二次编辑:我现在明白了好吧,我只是错误地输入了更新联系人所需的字符串和参数,我将代码替换为:
public void updateContact(View view) {
userDBHelper = new UserDBHelper(getApplicationContext());
sqLiteDatabase = userDBHelper.getWritableDatabase();
String name,hours,department;
name = new_name.getText().toString();
hours = new_hours.getText().toString();
department = new_department.getText().toString();
int count = userDBHelper.updateInformation(search,name,hours,department,sqLiteDatabase);
}
int count = userDBHelper.updateInformation(search_id,name,hours,department,sqLiteDatabase);
public int updateInformation(String old_name, String new_name, String new_hours,String new_department,SQLiteDatabase sqLiteDatabase)
DBHelper.updateInformation代码:
public int updateInformation(String old_name, String new_name, String new_hours,String new_department,SQLiteDatabase sqLiteDatabase)
我现在知道了,我的参数不匹配,我通过将代码更改为:
public void updateContact(View view) {
userDBHelper = new UserDBHelper(getApplicationContext());
sqLiteDatabase = userDBHelper.getWritableDatabase();
String name,hours,department;
name = new_name.getText().toString();
hours = new_hours.getText().toString();
department = new_department.getText().toString();
int count = userDBHelper.updateInformation(search,name,hours,department,sqLiteDatabase);
}
int count = userDBHelper.updateInformation(search_id,name,hours,department,sqLiteDatabase);
public int updateInformation(String old_name, String new_name, String new_hours,String new_department,SQLiteDatabase sqLiteDatabase)
然后更改更新类中的代码:
int count = userDBHelper.updateInformation(search_id,name,hours,department,sqLiteDatabase);
数一数你的参数,你应该能够弄明白这一点。IDE会告诉你到底是怎么回事。你的两个参数:String old_department、String new_department丢失了,而且你在函数中添加了edittext而不是String check函数。实际上函数有七个参数,但你只传递了五个参数。我现在得到了,谢谢