Здравствуйте, я пытаюсь редактировать элементы в списке и базе данных.
Я попытался изменить имя и имя с идентификатором в методе Update в моем помощнике по базам данных, но это не работает
Это мой EditUser
класс
public class EditUser extends AppCompatActivity {
private Button bouton_modifier, bouton_supprimer;
private EditText nom, prenom;
DatabaseHelper mDatabaseHelper;
private String selectedName,selectedFName,selectedID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_user);
bouton_modifier = (Button) findViewById(R.id.bouton_modifier);
bouton_supprimer = (Button) findViewById(R.id.bouton_Supprimer);
nom = (EditText) findViewById(R.id.nom);
prenom = (EditText) findViewById(R.id.prenom);
mDatabaseHelper = new DatabaseHelper(this);
Intent receivedIntent = getIntent();
selectedID = receivedIntent.getStringExtra("ID");
selectedName = receivedIntent.getStringExtra("name");
selectedFName = receivedIntent.getStringExtra("fname");
nom.setText(selectedName);
prenom.setText(selectedFName);
bouton_modifier.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = nom.getText().toString();
String Fname = prenom.getText().toString();
if(!name.equals("") && !Fname.equals("")){
mDatabaseHelper.Update(name, Fname, selectedID, selectedName, selectedFName);
Intent intent = new Intent(EditUser.this, PageUser.class);
startActivity(intent);
}else{
toastMessage("You must enter a name");
}
}
});
а это мой DatabaseHelper
класс
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "users.db";
public static final String TABLE_NAME = "users_data";
public static final String COL1 = "ID";
public static final String COL2 = "NAME";
public static final String COL3 = "FNAME";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
"NAME TEXT, FNAME TEXT)";
db.execSQL(createTable);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP IF TABLE EXISTS " + TABLE_NAME);
onCreate(db);
}
public boolean addData(String Name, String FName) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL2, Name);
contentValues.put(COL3, FName);
long result = db.insert(TABLE_NAME, null, contentValues);
if (result == -1) {
return false;
} else {
return true;
}
}
public Cursor getListContents() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor data = db.rawQuery("SELECT * FROM " + TABLE_NAME, null);
return data;
}
public void Update(String newName, String newFName,String id, String oldName, String oldFName){
SQLiteDatabase db = this.getWritableDatabase();
String query = "UPDATE " + TABLE_NAME + " SET " + COL2 + COL3 +
" = '" + newName + newFName +"' WHERE " + COL1 + " = '" + id + "'" +
" AND " + COL2 + COL3 + " = '" + oldName + oldFName + "'";
db.execSQL(query);
}
Я хотел бы изменить имя и имя, когда я нажму на кнопку «модификатор» и вернусь на страницу списка пользователей.