Обновите элементы Spinner в базе данных.?

у меня есть счетчик, который загружает элементы из базы данных SQLite. это работает нормально. тогда у меня есть текст редактирования, чтобы получить выбранный элемент счетчика для этого текста редактирования. это также работает. затем я хочу изменить текстовое значение редактирования и обновить этот элемент счетчика в базе данных. так как это сделать. Пожалуйста, помогите. спасибо


person silicon    schedule 03.03.2011    source источник


Ответы (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