【问题标题】:Deleting a row in sqlite database on a click of a button单击按钮删除sqlite数据库中的一行
【发布时间】:2012-05-05 11:57:34
【问题描述】:

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

【问题讨论】:

  • 你能解释一下MyfirstdatabaseActivity.thiViewDetailsActivity.class行吗?

标签: android database sqlite delete-row


【解决方案1】:
SQLiteDatabase db = dbHelper.getReadableDatabase();

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

SQLiteDatabase db = dbHelper.getWritableDatabase();

【讨论】:

    【解决方案2】:

    改变这个

    SQLiteDatabase db = dbHelper.getReadableDatabase();
    

    到这里

    SQLiteDatabase db = dbHelper.getWritableDatabase(); 
    

    【讨论】:

      猜你喜欢
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 2021-12-01
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多