Я переглядав деякі коди в Інтернеті щодо підключення до бази даних, пошуку. Я бачив Cursor cur1= moveToFirst()
у багатьох кодах, я хотів би знати, для чого потрібен курсор і чому ми використовуємо його, moveToFirst()
оскільки я новачок в android.
Я переглядав деякі коди в Інтернеті щодо підключення до бази даних, пошуку. Я бачив Cursor cur1= moveToFirst()
у багатьох кодах, я хотів би знати, для чого потрібен курсор і чому ми використовуємо його, moveToFirst()
оскільки я новачок в android.
Відповіді:
Курсор - це Інтерфейс, який представляє двовимірну таблицю будь-якої бази даних. При спробі отримати деякі дані за допомогою оператора SELECT , база даних спочатку створить об'єкт CURSOR і поверне вам його посилання.
Покажчик цієї повертається посилання вказує на 0 - й місце , яке інакше називається , як перед першим адресою в Cursor , тому , якщо ви хочете retrive дані від курсора, ви повинні спочатку перейти на перший запис , тому ми повинні використовувати moveToFirst
Коли викликає moveToFirst () метод на Cursor , він приймає покажчик курсору на перше місце . Тепер ви можете отримати доступ до даних, наявних у першому записі
Простими словами, курсор - це інтерфейс, який повертає колекцію даних вашого запиту. moveToFirst()
використовується для вказівки позиції курсора з місця, де ви хочете отримати дані від курсору. Є методи moveToLast()
, moveToNext()
, moveToPrevious()
, з moveToPosition(position)
допомогою якого ви можете перебрати курсор за бажаним шляху.
Наприклад, у вас є дані у вашому курсорі
Lalit
Rithesh
Paresh
Chandra
moveToFirst()
- Якщо ви використовуєте, cursor.moveToFirst()
тоді в цьому випадку він буде вказувати Lalit, оскільки це перші дані у вашому курсорі. Щоб отримати наступні дані з курсору, ви можете використовувати moveToNext()
.
moveToLast()
- Це вказуватиме Чандру як поточні дані у курсорі. Щоб отримати попередні дані з курсору, ви можете використовувати
moveToPrevious()
Курсор представляє результат запиту і в основному вказує на один рядок результату запиту. Таким чином Android може ефективно буферизувати результати запиту; оскільки йому не потрібно завантажувати всі дані в пам’ять.
Щоб отримати кількість елементів результуючого запиту, використовуйте getCount()
метод.
Для переміщення між окремими рядками даних можна використовувати методи moveToFirst()
and moveToNext()
. isAfterLast()
Метод дозволяє перевірити , якщо кінець результату запиту було досягнуто.
Курсор надає набрані методи get * (), наприклад getLong(columnIndex)
, getString(columnIndex)
для доступу до даних стовпців для поточної позиції результату. "ColumnIndex" - це номер стовпця, до якого ви отримуєте доступ.
Курсор також надає getColumnIndexOrThrow(String)
метод, який дозволяє отримати індекс стовпця для імені стовпця таблиці.
Курсор потрібно закрити за допомогою close()
виклику методу. Запит повертає об'єкт курсору.
Курсор - це те, в чому буде зберігатися будь-який результат запиту SQL.
Використовуйте інтерфейс курсору як збір даних.
Це схоже на Cursor
в PL/SQL
в тому , що вона має одну або кілька рядків , що повертаються деякі запити з його покажчиком.
У Cursor
інтерфейсі доступні наступні методи, які перебирають Cursor
, встановлюючи Cursor pointer
потрібне положення:
Інтерфейс курсору забезпечує випадковий доступ для читання-запису до набору результатів, що повертається запитом до бази даних.
Реалізації курсору не потрібно синхронізувати, тому код, що використовує курсор із декількох потоків, повинен виконувати власну синхронізацію під час використання курсору.