2016-12-14 2 views
-4

Я пытаюсь обновить информацию на моем ListView с помощью sqlitedatabase, так что в моем классе обновления я получаю сообщение об ошибке, которое здесь на рис http://prntscr.com/djbe3iОбновление информации в SQLiteDatabase

Вот код метода 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); 

} 
} 

EDIT: Я изменил код в:

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

} 

и я все еще получаю ошибку. Я не понимаю.

2ND EDIT: Я получаю сейчас все в порядке, я просто неправильно набранный строку и аргументы, которые я, необходимых для обновления контакта я заменил код в:

int count = userDBHelper.updateInformation(search_id,name,hours,department,sqLiteDatabase); 

DBHelper.updateInformation код:

public int updateInformation(String old_name, String new_name, String new_hours,String new_department,SQLiteDatabase sqLiteDatabase) 
+1

Подсчитайте свои параметры, и вы сможете это понять. IDE сообщает вам, что именно не так. – gpgekko

+0

Ваши два аргумента: 'String old_department',' String new_department' отсутствуют – Meet

+0

А также вы добавили edittext для функции not string, чтобы проверить функцию. Фактически функция имеет семь параметров, но вы передаете только пять параметров – Vishwa

ответ

0

я получил это теперь мои параметры не совпадают, и я установил ее, изменив код на:

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); 
Смежные вопросы