我有一个微调器,可以从SQLite数据库加载项目。它工作正常。 然后我有一个edittext来将选定的微调项目项目添加到该edittext。它也是炒锅。 然后我想更改编辑文本值并将该微调项目更新到数据库。 那怎么做请任何帮助。日Thnx
答案 0 :(得分:0)
你应该进行sql更新查询。由于您已从DB中获取微调项目,因此您应该知道如何进行查询。要进行更新查询,您必须调用db。update()方法。
答案 1 :(得分:0)
可以说,您已使用数据库中的数据填充了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);
}
}