-2

dhelper.java- deleteshowById2 関数は、アクティビティ クラス関数 name delete Row からボタンをクリックすると呼び出されます。この関数では、クラス コンテキストが渡され、名前も渡されます。

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:01:27.907 に答える
0

これを変える

SQLiteDatabase db = dbHelper.getReadableDatabase();

これに

SQLiteDatabase db = dbHelper.getWritableDatabase(); 
于 2012-05-05T12:02:26.480 に答える