OLE DB-Cursor (SQL Server Compact)

Microsoft SQL Server Compact 3.5 unterstützt Basistabellen-, Vorwärts- und scrollfähige Cursortypen. Wenn einer dieser unterstützten Cursor verwendet wird, darf vom Client nur eine Zeile geöffnet sein.

Basistabellencursor

Der Basistabellencursor ist der schnellste der unterstützten Cursor und der einzige, der direkt mit dem Speichermodul interagiert. Dieser Cursor unterstützt Aktualisierungen, Lesezeichen und Indizes sowie die Methoden Seek und SetRange von IRowsetIndex. Der Basistabellencursor unterstützt optional den verzögerten Aktualisierungsmodus, indem die IRowsetUpdate-Schnittstelle angezeigt wird, wenn der Client DBPROP_IRowsetUpdate mit dem Wert TRUE übergibt. Dieser Cursor verfügt über dynamische Mitgliedschaft; die Eigenschaften DBPROP_OTHERINSERT und DBPROP_OTHERUPDATEDELETE weisen jeweils den Wert TRUE auf.

Basistabellencursor können nur mithilfe von IOpenRowset::OpenRowset geöffnet werden. Das Verwenden einer Anweisung der Form "SELECT * FROM table" führt zu einem Vorwärts- oder scrollfähigem Abfrageprozessorcursor und nicht zu einem Basistabellencursor. Aktualisierungen werden nur von Basistabellencursorn unterstützt.

Vorwärtscursor

Obwohl der schreibgeschützte Vorwärtscursor der schnellste Abfrageprozessorcursor und der insgesamt zweitschnellste Cursor ist, bietet dieser Cursor die geringste Funktionalität. Von ihm werden keine Lesezeichen oder Aktualisierungen unterstützt.

Scrollfähiger Cursor

Der schreibgeschützte scrollfähige Cursor ist der Abfrageprozessorcursor mit der größten Funktionalität. Das Resultset dieses Cursors wird zwischengespeichert. Damit sind schnelle Cursorneustarts möglich, es werden allerdings mehr Ressourcen benötigt, insbesondere für Abfragen mit großen Resultsets. Weil die Resultsets zwischengespeichert werden, spiegeln sich Änderungen an den zugrunde liegenden Basistabellen für eine Abfrage erst in den Abfrageergebnissen wider, wenn die Abfrage erneut ausgeführt wird.

Erforderliche Eigenschaftseinstellungen

In der folgenden Tabelle werden die erforderlichen Eigenschaftseinstellungen für jeden Cursortyp aufgeführt.

Eigenschaftseinstellung Basistabelle Vorwärts Scrollfähig

DBPROP_BOOKMARKS

VARIANT_TRUE

VARIANT_FALSE

VARIANT_TRUE

DBPROP_OWNUPDATEDDELETE

VARIANT_TRUE

VARIANT_FALSE

VARIANT_FALSE

DBPROP_OWNINSERT

VARIANT_TRUE

VARIANT_FALSE

VARIANT_FALSE

DBPROP_OTHERUPDATEDELETE

VARIANT_TRUE

VARIANT_FALSE

VARIANT_FALSE

DBPROP_OTHERINSERT

VARIANT_TRUE

VARIANT_FALSE

VARIANT_FALSE

DBPROP_CANFETCHBACKWARDS

VARIANT_TRUE

VARIANT_FALSE

VARIANT_TRUE

DBPROP_QUICKRESTART

VARIANT_TRUE

VARIANT_FALSE

VARIANT_TRUE