Другим сценарием является то, что вы нанесли нулевой объект в тип значения . Например, код ниже:
object o = null;
DateTime d = (DateTime)o;
Он выкинет NullReferenceException
в роли. В приведенном выше примере это кажется совершенно очевидным, но это может произойти в более «поздних связующих» сложных сценариях, где нулевой объект был возвращен из некоторого кода, которого вы не являетесь, и приведение, например, генерируется некоторой автоматической системой.
Одним из примеров этого является этот простой фрагмент привязки ASP.NET с элементом управления календарем:
" />
Здесь SelectedDate
на самом деле является свойством - типа DateTime
- типа Calendar
Web Control, и привязка может отлично вернуть что-то null. Неявный генератор ASP.NET создаст кусок кода, который будет эквивалентен приведенному выше методу. И это поднимет NullReferenceException
, что довольно сложно определить, потому что он лежит в сгенерированном ASP.NET коде, который компилирует отлично ...
Простыми словами, Cursor - это интерфейс, который возвращает коллекцию ваших данных запроса. moveToFirst()
используется для указания позиции курсора, откуда вы хотите получить данные из вашего курсора. Существуют методы moveToLast()
, moveToNext()
, moveToPrevious()
, moveToPosition(position)
, с помощью которых вы можете запрограммировать курсор по желанию.
Например, у вас есть данные в вашем курсоре
Lalit
Rithesh
Paresh
Chandra
moveToFirst()
- Если вы используете cursor.moveToFirst()
, тогда в этом случае он укажет Lalit, так как это первые данные в вашем курсоре. Чтобы получить следующие данные из курсора, вы можете использовать moveToNext()
. moveToLast()
- Это будет указывать Chandra как текущие данные в вашем курсоре. Чтобы получить предыдущие данные из курсора, вы можете использовать moveToPrevious()
Используйте интерфейс курсора как сбор данных.
blockquote>Он похож на
Cursor
вPL/SQL
таким образом, что он содержит одну или несколько строк, возвращаемых некоторыми запросами с помощью указателя.В интерфейсе
Cursor
доступны следующие методы: итерация черезCursor
, установкаCursor pointer
в нужную позицию:
- moveToFirst ()
- moveToLast ()
- moveToNext ()
- moveToPrevious ()
- moveToPosition (position)
Курсор - это интерфейс, который используется в качестве коллекции для представления данных. Он похож на курсоры в PL / SQL, он содержит строки (один или несколько), возвращаемых некоторыми запросами с помощью указателя. moveToFirst (), moveToLast (), moveToNext (), moveToPrevious () и moveToPosition (position) - это доступные в курсоре методы, которые повторяются через курсор и устанавливают указатель на нужную позицию.
Интерфейс курсора обеспечивает случайный доступ для чтения и записи к результирующему набору, возвращаемому запросом базы данных.
Реализации курсора не требуется синхронизировать, поэтому код с использованием курсора из нескольких потоков должен выполнять свою собственную синхронизацию, когда используя курсор.
Курсор - это то, что будет храниться в любом результате SQL-запроса.
Курсор похож на ResultSet в java, он имеет строки, возвращаемые некоторыми запросами с помощью указателя. moveToFirst()
, moveToNext()
и moveToPosition(position)
устанавливают указатель на желаемую позицию.