2012-05-05 63 views
-2

dhelper.java-在单击活动类中的按钮时调用deleteshowById2函数function name delete Row,在此函数中传递类上下文并且名称为也通过了。单击按钮删除sqlite数据库中的一行

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


} 

Activity类

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

什么异常? –

+0

可以解释'MyfirstdatabaseActivity.thiViewDetailsActivity.class'行吗? –

回答

0
SQLiteDatabase db = dbHelper.getReadableDatabase(); 

你不能在在只读状态打开的数据库中删除行。使用这个来代替:

SQLiteDatabase db = dbHelper.getWritableDatabase(); 
0

更改此

SQLiteDatabase db = dbHelper.getReadableDatabase(); 

对此

SQLiteDatabase db = dbHelper.getWritableDatabase(); 
+0

为什么要为这个答案投票?任何意见?所以+1 – vnshetty

相关问题