Ich habe einige der Codes im Internet bezüglich der Datenbankverbindung und des Abrufs durchgesehen. Ich habe Cursor cur1= moveToFirst()
in vielen Codes gesehen, ich wollte wissen, was die Verwendung eines Cursors ist und warum wir verwenden, moveToFirst()
da ich neu bei Android bin.
76
Antworten:
Der Cursor ist die Schnittstelle, die eine zweidimensionale Tabelle einer beliebigen Datenbank darstellt. Wenn Sie versuchen, einige Daten mit der SELECT- Anweisung abzurufen , erstellt die Datenbank zunächst ein CURSOR- Objekt und gibt dessen Referenz an Sie zurück.
Der Zeiger dieser zurückgegebenen Referenz zeigt auf die 0. Position, die ansonsten wie vor der ersten Position des Cursors aufgerufen wird. Wenn Sie also Daten vom Cursor abrufen möchten, müssen Sie zuerst zum ersten Datensatz wechseln, damit wir moveToFirst verwenden können
Wenn Sie die moveToFirst () -Methode für den Cursor aufrufen, wird der Cursorzeiger zur ersten Position geführt . Jetzt können Sie auf die im ersten Datensatz vorhandenen Daten zugreifen
quelle
In einfachen Worten, Cursor ist eine Schnittstelle, die eine Sammlung Ihrer Abfragedaten zurückgibt.
moveToFirst()
wird verwendet, um die Cursorposition zu zeigen, von der aus Sie Daten von Ihrem Cursor abrufen möchten. Es gibt MethodenmoveToLast()
,moveToNext()
,moveToPrevious()
,moveToPosition(position)
mit dem Sie über Ihren Cursor nach gewünschter Weise laufen können.Zum Beispiel haben Sie Daten in Ihrem Cursor
moveToFirst()
- Wenn Siecursor.moveToFirst()
dann verwenden, zeigt es in diesem Fall auf Lalit, da es die ersten Daten in Ihrem Cursor sind. Um die nächsten Daten vom Cursor zu erhalten, können Sie verwendenmoveToNext()
.moveToLast()
- Dies zeigt Chandra als die aktuellen Daten in Ihrem Cursor. Um die vorherigen Daten vom Cursor abzurufen, können Sie verwendenmoveToPrevious()
quelle
Ein Cursor stellt das Ergebnis einer Abfrage dar und zeigt grundsätzlich auf eine Zeile des Abfrageergebnisses. Auf diese Weise kann Android die Abfrageergebnisse effizient puffern. da es nicht alle Daten in den Speicher laden muss.
Verwenden Sie die
getCount()
Methode, um die Anzahl der Elemente der resultierenden Abfrage zu ermitteln.Um zwischen einzelnen Datenzeilen zu wechseln, können Sie die Methoden
moveToFirst()
undmoveToNext()
verwenden. Mit dieserisAfterLast()
Methode kann überprüft werden, ob das Ende des Abfrageergebnisses erreicht wurde.Cursor bietet * getippt get () Methoden, zum Beispiel
getLong(columnIndex)
,getString(columnIndex)
die Spaltendaten für die aktuelle Position des Ergebnisses zuzugreifen. Der "columnIndex" ist die Nummer der Spalte, auf die Sie zugreifen.Cursor bietet auch die
getColumnIndexOrThrow(String)
Methode, mit der der Spaltenindex für einen Spaltennamen der Tabelle abgerufen werden kann.Ein Cursor muss mit dem
close()
Methodenaufruf geschlossen werden. Eine Abfrage gibt ein Cursor-Objekt zurück.quelle
Der Cursor ähnelt ResultSet in Java und enthält Zeilen, die von einigen Abfragen mit dem Zeiger zurückgegeben werden.
moveToFirst()
,moveToNext()
UndmoveToPosition(position)
setzt den Zeiger auf die gewünschte Postion.quelle
In einem Cursor wird jedes SQL-Abfrageergebnis gespeichert.
quelle
Es ähnelt a
Cursor
inPL/SQL
der Art, wie es eine oder mehrere Zeilen enthält, die von einigen Abfragen mit dem Zeiger zurückgegeben werden.Die folgenden Methoden stehen in der
Cursor
Benutzeroberfläche zur Verfügung, die durch die durchlaufen und die gewünschte PositionCursor
einstellenCursor pointer
:quelle
Die Cursorschnittstelle bietet zufälligen Lese- / Schreibzugriff auf die von einer Datenbankabfrage zurückgegebene Ergebnismenge.
Cursor-Implementierungen müssen nicht synchronisiert werden, daher sollte Code, der einen Cursor aus mehreren Threads verwendet, bei Verwendung des Cursors eine eigene Synchronisierung durchführen.
quelle