2012-05-05 9 views
-2

dhelper.java-アクティビティクラスからボタンをクリックするとdeleteshowById2関数が呼び出されます。function name deleteこの関数では、クラスコンテキストが渡され、名前はまた渡されました。ボタンをクリックして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

いただきまし例外には、この

SQLiteDatabase db = dbHelper.getReadableDatabase(); 

? –

+0

'MyfirstdatabaseActivity.thiViewDetailsActivity.class'行について説明できますか? –

答えて

0
SQLiteDatabase db = dbHelper.getReadableDatabase(); 

あなたは、読み取り専用の状態で開かれたデータベース内の行を削除することはできません。これは代わりに使用します。

SQLiteDatabase db = dbHelper.getWritableDatabase(); 
0

変更この

SQLiteDatabase db = dbHelper.getWritableDatabase(); 
+0

なぜこの回答に投票してください?任意のコメント?だから+1 – vnshetty

関連する問題