у меня есть счетчик, который загружает элементы из базы данных SQLite. это работает нормально. тогда у меня есть текст редактирования, чтобы получить выбранный элемент счетчика для этого текста редактирования. это также работает. затем я хочу изменить текстовое значение редактирования и обновить этот элемент счетчика в базе данных. так как это сделать. Пожалуйста, помогите. спасибо
Обновите элементы Spinner в базе данных.?
Ответы (2)
Вы должны сделать запрос на обновление sql. Поскольку вы уже получаете элементы счетчика из БД, вы должны знать, как делать запросы. Чтобы сделать запрос на обновление, вы должны вызвать db.update() метод.
person
Olsavage
schedule
03.03.2011
Допустим, вы заполнили Spinner spinner
данными из базы данных. И у вас есть EditText editText
и Button button
для обновления значений счетчика. Затем вы можете добиться этого, как показано ниже:
...
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long arg3) {
//code to display the selected item in EditText
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
selectDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DatabaseCreator dbcreator=new DatabaseCreator(context);
SQLiteDatabase sqdb=dbcreator.getWritableDatabase();
ContentValues values=new ContentValues();
//Update respective fields in database
values.put("field_1",newValue1);
values.put("field_2",newValue2);
long suceess=sqdb.update( "table_name", values, KEY_ID+"='"+id+"'", null);
// you can place any condition in place of KEY_ID+"='"+id+"'" as third argument in above statement
if(success!=0)
{
//repopulate spinner here
}
}
});
...
DatabaseCreator.class:
public class DatabaseCreator extends SQLiteOpenHelper{
private static final String DB_NAME="db_name";
private static final int DB_VER=2;
private static final String TABLE_1="create table table_1(...);"; //complete create query goes here
public DatabaseCreator(Context context) {
super(context,DB_NAME, null, DB_VER);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(TABLE_1);
}
@Override
public void onUpgrade(SQLiteDatabase database, int arg1, int arg2) {
database.execSQL("DROP TABLE IF EXISTS db_name");
onCreate(database);
}
}
person
Hiral Vadodaria
schedule
17.11.2011