-2

dhelper.java- deleteshowById2 函数在单击活动类函数名称删除行中的按钮时调用,在此函数中传递类上下文并传递名称。

public static int deleteShowById2(String name, Context ctx) {

    DBHelper dbHelper = new DBHelper(ctx);
    SQLiteDatabase db = dbHelper.getReadableDatabase();

    String where = "showId='"+name+"'";
    return db.delete(TableName, where, null);


}

活动课

public void deleteRow()
{
    name=e1.getText().toString();
    MyfirstPojo ob=new MyfirstPojo();
    ob.setName(name);
    int i=0;
    i=dheloper.deleteShowById2(name,this);
    if(i>0){
        Toast.makeText(this, "One Row Deleted", Toast.LENGTH_LONG).show();
    }


}
Button deletebutton=(Button)findViewById(R.id.button3);
    deletebutton.setOnClickListener(this);

public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.button1 :
        gettext();
        break;
    case R.id.button2 :
        Intent i=new      Intent(MyfirstdatabaseActivity.thiViewDetailsActivity.class);
        startActivity(i);
        finish();
    case R.id.button3 :
        deleteRow();
    default:
        break;
    }
}
4

2 回答 2

0

改变这个

SQLiteDatabase db = dbHelper.getReadableDatabase();

对此

SQLiteDatabase db = dbHelper.getWritableDatabase(); 
于 2012-05-05T12:02:26.480 回答
0
SQLiteDatabase db = dbHelper.getReadableDatabase();

您不能删除以只读状态打开的数据库中的行。改用这个:

SQLiteDatabase db = dbHelper.getWritableDatabase();
于 2012-05-05T12:01:27.907 回答