2012-02-08 10 views
0

ブックマークボタンをクリックしても表示されません。このコードに何か問題があります。更新後にテーブルから値を抽出できませんでした。アンドロイドで実行されたクエリ

最初に、既定値が0のブックマークの値を1に設定しました。このように ここではテーブル名はTestです。

私は考えてい

public Cursor bookmarkedJok(int i) { 
    Cursor c = null; 
     String Query = "UPDATE Test SET isBookmarked =1 WHERE _id = " + i ; 
     c = myDataBase.rawQuery(Query, null); 
     return c; 
} 

DatabaseHelper.java、私は上記のクエリで間違っていたり、関数を呼び出す以下に関連しています。私はエラーがない場合、私はブックマークにしようとしていますfirst.java、この

DatabaseHelper db; 
    public void onClick(DialogInterface dialog, 
            int id) { 
           String i = cur.getString(cur 
             .getColumnIndex("_id")); 
           int it=Integer.parseInt(i); 

           db.bookmarkedJok(it); 
          } 
         }) 

ののonCreateにこのコードで は今、私はisBookmarkedの値は1 Second.javaときは、このbookmared表示します

protected SQLiteDatabase db; 
protected Cursor cursor; 
protected ListAdapter adapter; 

....

private void bookmark() { 
    String[] fields = new String[] { "substr(title,1,23)", 
      "substr(body,1,35)" }; 
    int[] views = new int[] { R.id.titleJok, R.id.bodyJok, }; 
    cursor = db 
      .rawQuery(
        "SELECT _id, substr(title,1,23),substr(body,1,35) FROM Test WHERE isBookmarked=" +1, 
        null); 
    adapter = new SimpleCursorAdapter(this, R.layout.book_list_item, 
      cursor, fields, views); 
    jokesList.setAdapter(adapter); 

} 

私の返答をお願いします、私のコードのエラーは何ですか?ありがとう。

答えて

0

rawQuery()を使用してレコードを更新するにはどうすればよいですか? 以下のようにしてみてください:

private SQLiteDatabase sqd; 
public SQLiteDatabase create_database(String dbname) 
    { 
     try{ 
     sqd= SQLiteDatabase.openOrCreateDatabase("/data/data/Your packagename/databases/"+dbname,null); 
     }catch(Exception e){ 
     e.getmessage(); 
       } 
     } 

    public void bookmarkedJok(int i) { 
    //Cursor c = null; 
    create_database(dbname); 
    String Query = "UPDATE Test SET isBookmarked =1 WHERE _id = " + i ; 
    sqd.execSQL(Query); 
    // return c; 
} 

May this help you. 
+0

ああ、それは本当にGR8ですが、あなたのコードを入れたときに、私はこのandroid.database.sqlite.SQLiteException取得しています:読み取り専用データベースを書き込もうとします。UPDATEジョークがSET isBookmarked = 1 WHERE _id = 4、あなたはこれのためのより多くの解決策が必要な場合。 plzの返信。 –

+0

私は私のansを編集しました。 – Dhruvisha

関連する問題