Невозможно извлечь значение из таблицы после запуска запроса на обновление в Android - PullRequest
0 голосов
/ 08 февраля 2012

Ничего не отображается при нажатии кнопки закладки. что-то не так с этим кодом.

сначала я установил 1 значение закладки, где значение по умолчанию равно 0. Так же, как это Здесь имя таблицы - Test.

DatabaseHelper.java

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

Я думаю, что я не прав с приведенным выше запросом или связанным с вызывающей функцией ниже. В 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);
                            }
                        })

Теперь, если у меня нет ошибок, я отображаю эту закладку, где значение isBookmarked равно 1. Second.java

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

}

пожалуйста, ответьте мне, в чем ошибки моего кода. Спасибо.

1 Ответ

0 голосов
/ 08 февраля 2012

Как вы можете обновить запись, используя 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...