Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新SQLITE数据库中的信息_Java_Android - Fatal编程技术网

Java 更新SQLITE数据库中的信息

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

我试图通过使用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 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函数。实际上函数有七个参数,但你只传递了五个参数。我现在得到了,谢谢