Написание запросов базы данных Sqlite - PullRequest
1 голос
/ 19 февраля 2012

Я пытаюсь написать запрос для извлечения данных из базы данных SQLite.Я хотел напечатать результат запроса в текстовом поле.Поэтому я использовал метод getint() для курсора.Ниже мой код.Он не запускается в моем эмуляторе Android.Это правильный способ написания запроса?Он не показывает ошибок.

import android.app.Activity;
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.*;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class SQLDemo1Activity extends Activity {
  private SQLiteDatabase db;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    try{
      db= SQLiteDatabase.openDatabase(
        "/data/data/cis493.sqldatabases/databases/multilinguialdatabase.sqlite",
        null,
        SQLiteDatabase.CREATE_IF_NECESSARY);
      db.beginTransaction();
      Cursor cursor =  db.query(
        "colors" /* table */,
        new String[] { "ID" } /* columns */,
        "English = ?" /* where or selection */,
        new String[] { "green" } /* selectionArgs i.e. value to replace ? */,
        null /* groupBy */,
        null /* having */,
        null /* orderBy */
      );
      int id = cursor.getInt(0);
      TextView met = (TextView) findViewById(R.id.t1);
      met.setText(id);
      db.endTransaction();
      db.close();
    }
    catch(SQLiteException e) {
      Toast.makeText(this, e.getMessage(), 1).show();
    }
  }
}

Ответы [ 2 ]

1 голос
/ 19 февраля 2012

Вам нужно установить cursor.moveToNext () или cursor.moveToFirst (), прежде чем пытаться получить int с помощью getInt ().Поместите его в оператор if, так как в курсоре может не быть результатов.

0 голосов
/ 13 апреля 2015

Чтобы написать запрос в Android, Sqllite требует определенных параметров, таких как:

// Запрашивает пользовательский словарь и возвращает результаты mCursor = getContentResolver (). query (

URI                                 // The content URI of the words table
mProjection,                        // The columns to return for each row
mSelectionClause                    // Selection criteria
mSelectionArgs,                     // Selection criteria
mSortOrder);                        // The sort order for the returned rows

Подробнее читайте на сайте разработчика Android: http://developer.android.com/guide/topics/providers/content-provider-basics.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...