Track Row для подготовленного оператора Sqlite Android - PullRequest
0 голосов
/ 15 октября 2019

Я создал оператор Prepared, чтобы получить строку, в которой присутствует мой track_id. Поскольку я новичок, у меня возникают проблемы с пониманием того, как я могу получить значения из всей строки один за другим, мой код:

 public SQLiteStatement retrieveData(){
        SQLiteDatabase db = this.getWritableDatabase();
        SQLiteStatement stmt = db.compileStatement("Select * from tracking where track_id= ?");
        return stmt;
SQLiteStatement statement = db.retrieveData();
                statement.bindString(1,track_data.getText().toString());
                statement.execute()

Так же, как в базе данных SQL, мы используем выражение ResultSet result =. ExecuteQuery ();Как я могу сохранить Statement.execute () в переменной, чтобы получить детали строки?

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Короче говоря, вы не используете SQLiteStatement , он предназначен только для / (возможности) возврата одного столбца одной строки в соответствии с: -

Представляетоператор, который может быть выполнен в отношении базы данных. Оператор не может возвращать несколько строк или столбцов, но поддерживаются результирующие наборы с одним значением (1 x 1). SQLiteStatement

Вместо этого вы бы использовали: -

SQLiteDatabase db = this.getWritableDatabase();
Cursor csr = db.query("tracking",null /* all columns aka */","track_id=?",new String[]{track_data.getText().toString()},null,null,null);
while (csr.moveToNext()) {
    // and for each column value you wanted
    my_value = csr.get??????(csr.getColumnIndex(the_column_name_as_a_string)); 
    // e.g. another my_other_value = csr.get??????(csr.getColumnIndex(the_column_name_as_a_string));
}
  • ?????? представляет многие методы, например, getInt, getLong .........
  • см. Курсор

Или альтернативно вместо использования удобного метода query , вы можете использовать метод rawQuery , например

Cursor csr = db.rawQuery("Select * from tracking where track_id= ?",new String[]{track_data.getText().toString()});
0 голосов
/ 15 октября 2019

Ваш ответ здесь на официальном сайте Android. Пройдите https://developer.android.com/reference/java/sql/Statement

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