Je parcourais certains des codes sur Internet concernant la connexion à la base de données, la récupération. J'ai vu Cursor cur1= moveToFirst()
dans de nombreux codes, je voulais savoir à quoi sert un curseur et pourquoi nous utilisons moveToFirst()
car je suis nouveau sur Android.
Cursor est l'interface qui représente une table en 2 dimensions de toute base de données. Lorsque vous essayez d'extraire des données à l'aide de l'instruction SELECT, la base de données crée d'abord un objet CURSEUR et vous renvoie sa référence.
Le pointeur de cette référence renvoyée pointe vers la 0ème position qui est autrement appelée avant la première position du Cursor. Ainsi, lorsque vous souhaitez récupérer des données à partir du curseur, vous devez premier déplacement vers le premier enregistrement, nous devons donc utiliser moveToFirst
Lorsque vous appelez la méthode moveToFirst () sur le Cursor, le pointeur de curseur se place sur le premier emplacement. Vous pouvez maintenant accéder aux données présentes dans le premier enregistrement
En termes simples, Cursor est une interface qui récupère les données de votre requête. moveToFirst()
est utilisé pour indiquer la position du curseur à partir de laquelle vous voulez obtenir des données de votre curseur. Il existe des méthodes moveToLast()
, moveToNext()
, moveToPrevious()
, moveToPosition(position)
qui permettent de parcourir le curseur de la manière souhaitée.
Par exemple, vous avez des données dans votre curseur
Lalit
Rithesh
Paresh
Chandra
moveToFirst()
- Si vous utilisez cursor.moveToFirst()
, dans ce cas, __.it indiquera Lalit, car il s'agit de la première donnée de votre curseur. Pour obtenir Les prochaines données du curseur, vous pouvez utiliser moveToNext()
.
moveToLast()
- Ceci indiquera Chandra comme les données actuelles dans votre curseur Pour obtenir les données précédentes du curseur, vous pouvez utiliser moveToPrevious()
Un curseur représente le résultat d'une requête et pointe essentiellement sur une ligne du résultat de la requête. De cette façon, Android peut tamponner efficacement les résultats de la requête. car il n’a pas à charger toutes les données en mémoire.
Pour obtenir le nombre d'éléments de la requête résultante, utilisez la méthode getCount()
.
Pour vous déplacer entre les lignes de données individuelles, vous pouvez utiliser les méthodes moveToFirst()
et moveToNext()
. La méthode isAfterLast()
permet de vérifier si la fin du résultat de la requête a été atteinte.
Le curseur fournit des méthodes get * () typées, par exemple. getLong(columnIndex)
, getString(columnIndex)
pour accéder aux données de la colonne pour la position actuelle du résultat. "ColumnIndex" est le numéro de la colonne à laquelle vous accédez.
Cursor fournit également la méthode getColumnIndexOrThrow(String)
qui permet d’obtenir l’index de colonne d’un nom de colonne de la table.
Un curseur doit être fermé avec l'appel de la méthode close()
. Une requête retourne un objet Cursor.
Le curseur est comme ResultSet en Java, il contient des lignes renvoyées par certaines requêtes avec son pointeur. moveToFirst()
, moveToNext()
et moveToPosition(position)
positionne le pointeur sur la position désirée.
Un curseur est ce que tout résultat de requête SQL sera stocké dans.
Utilisez l'interface Cursor en tant que collecte de données.
Il ressemble à une variable Cursor
dans PL/SQL
en ce sens qu'il contient une ou plusieurs lignes renvoyées par certaines requêtes avec son pointeur.
Les méthodes suivantes sont disponibles dans l'interface Cursor
et parcourent la Cursor
en définissant le Cursor pointer
à la position souhaitée:
Cursor est une interface utilisée comme une collection pour représenter des données. Il est similaire aux curseurs en PL/SQL, il contient les lignes (une ou plusieurs) renvoyées par certaines requêtes avec son pointeur. moveToFirst (), moveToLast (), moveToNext (), moveToPrevious () et moveToPosition (position) sont des méthodes disponibles dans le curseur qui itèrent à travers le curseur et positionnent le pointeur à la position souhaitée.
L'interface du curseur fournit un accès en lecture-écriture aléatoire au jeu de résultats renvoyé par une requête de base de données.
Les implémentations du curseur ne doivent pas nécessairement être synchronisées. Par conséquent, le code utilisant un curseur provenant de plusieurs threads doit effectuer sa propre synchronisation lors de l'utilisation du curseur.