Weiter Zur�ck [Inhalt] Online Suche im Handbuch

56.7 Cursor mit Visual C++/BASIC und MySQL

Serverside cursors funktionieren mit MySQL, wie schon anfangs erw�hnt, nicht. MySQL verf�gt �ber keine Pre-oder Postprozessoren, die z.B. Operationen auf SETs und die Positionierung von Forward - und Backward Cursors regeln k�nnten.

Daher m�chte ich mich hier besonders auf Beschreibung der oft �berlegenen, und bei Microsoft gut dokumentierten clientside cursors oder auch frontend cursors genannten Cursor L�sungen konzentrieren.

Bis zur Version SQL Server 6.0, die im wesentlichen auf SYBASE SQL beruhte, konnte Microsoft keine Bibliotheken zum vorw�rts und r�ckw�rts Scrollen in einem result set anbieten. Die Folge war, da� Microsoft hierf�r das Verhalten von Cursors in der Client API emulieren mu�te. Diese Routinen finden sich in der DBLibrary. Diese l��t sich mit allen Visual Basic/C++, JAVA Programmiersprachen ansprechen. Inzwischen hat Microsoft das ODBC Interface entwickelt, welches Teile dieser Cursor Bibliotheken enth�lt.

Hier finden Sie eine Beschreibung �ber Cursor, so, wie Microsoft diese mit ODBC 3.0 / 2.5 (update) implementiert. Eine ausf�hrliche Beschreibung f�r Visual Basic 5.0, ACCESS 97, EXCEL 97.... http://www.hipstream.force9.co.uk/dissertation/week5/ODBC.html ist ebenfalls enthalten.

Die DBLibrary kommuniziert gew�hnlich mit der SQL Datenbank, und erwartet das result set zur�ck, bei Microsoft als TDS (Tabular Data Stream) implementiert. Dieses result set wird dann von der DBLibrary gecacht, und an den Client �bergeben. Der Client kann dann dieses result set bearbeiten, �ndern, darin Daten l�schen, u.s.w. Diese werden dann entweder auf Befehl oder nach einem Timeout auf den SQL Server zur�ckgeschrieben.

Dieses Caching hat allerdings auch einige Grenzen, die hier nicht verschwiegen werden sollen:

Auf der Website http://www.pbc.ottawa.on.ca sind viele Beispiele zur Implementierung von Cursors mit Visual Basic und der Library DBWiz beschrieben.


Weiter Zur�ck [Inhalt] Online Suche im Handbuch