我知道这个问题在本网站上已经多次被问过很多种方式,但似乎没有一个对我有用。 我需要从活动中将数据更新到我的数据库。 我用了这段代码:
public class EditAccount extends Activity {
private SQLiteDatabase database;
private MySQLiteHelper dbHelper;
......
}
public void update_acc(View view){
EditText accName=(EditText)findViewById(R.id.acc_name);
EditText comment=(EditText)findViewById(R.id.comments);
String acc_name=accName.getText().toString();
String comments=comment.getText().toString();
Intent intent=getIntent();
int id =(int) intent.getExtras().getLong("data_id");
String data_id= Integer.valueOf(id).toString();
//When i debug the app it comes here and stops:
database = dbHelper.getWritableDatabase();
database.execSQL("Update comments set acc_name='"+acc_name+"',
comment='"+comments+"' where id="+id, null);
database.close();
Toast.makeText(getBaseContext(), "Account updated; Acc Name:"+acc_name+" Comment:"+comments, Toast.LENGTH_LONG).show();
super.onBackPressed();}
请查看是否有任何问题。 请帮忙!
提前致谢, 等待你的回复...
答案 0 :(得分:1)
它是这样做的:
EditText accName=(EditText)findViewById(R.id.acc_name);
EditText comment=(EditText)findViewById(R.id.comments);
String acc_name=accName.getText().toString();
String comments=comment.getText().toString();
Intent intent=getIntent();
int id =(int) intent.getExtras().getLong("data_id");
String data_id= Integer.valueOf(id).toString();
database = dbHelper.getWritableDatabase();
String query="Update comments set acc_name='"+acc_name+"', comment='"+comment+"' where _id="+id;
database.execSQL(query);
//Leave a message and go back
Toast.makeText(getBaseContext(), "Account updated; Acc_name:"+acc_name+", Comment:"+comments, Toast.LENGTH_LONG).show();
super.onBackPressed();