在SQLite数据库中更新数据

时间:2013-07-29 15:30:32

标签: java android android-sqlite

我知道这个问题在本网站上已经多次被问过很多种方式,但似乎没有一个对我有用。 我需要从活动中将数据更新到我的数据库。 我用了这段代码:

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();}

请查看是否有任何问题。 请帮忙!

提前致谢, 等待你的回复...

1 个答案:

答案 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();