Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

RS.AbsolutePosition ergibt immer -1





Frage

Wenn ich die Cursor-Position in einem Recordset mit RS.AbsolutePosition abrufen will, kommt immer -1 als Wert zurück, egal, wo der Cursor ´wirklich stehen müsste. Hat jemand so was schon mal gehabt? - Ich werde langsam wahnsinnig, wil ich mich kaum innerhalb des REcordsets bewegen kann. Danke im Voraus!

Antwort 1 von Karl

Hallo Kolja,

die Fehler Beschreibung ist etwas dürftig, Dein Programmierkenntnisstand ist mir unklar, ich versuche es trotzdem.

1. Es gibt zwei Arten des Cursors (damit ist nicht dieses blinkende Ding auf dem Bildschirm gemeint!)

Einen Server-Cursor (voreinstellung)
Einen Client-Cursor

Es ist auch stark vom Provider (damit ist auch nicht der Netzanbieter gemeint!) abhängig, welche Methoden unterstützt werden.

Aus Deinem Post geht nicht hervor, was Du benutzt.
Deshalb hier allgemein für Dich und andere, die dasselbe Problem haben, das Erzeugen eines Clientcursors.

Client-Cursor angewendet auf das Connection Object

Set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionTimeout = Application("xxx_ConnectionTimeout")
conn.CommandTimeout = Application("xxx_CommandTimeout")
conn.CursorLocation = 3 REM adUseClient
conn.Open Application("xxx_ConnectionString"), Application("xxx_RuntimeUserName"), Application("xxx_RuntimePassword")

Client-Cursor angewendet auf das Recordset Object

Set recordset = Server.CreateObject("ADODB.Recordset")
recordset .CursorLocation = 3 REM adUseClient

Mit eine Boolschen Variablen kann man dann abfragen, ob der Client-Cursor funktioniert

Die Abfrage gibt True / False zurück

fBookmark=recordset.Supports(8192)

Wenn True, dann funktionieren Bookmark, AbsolutePage, AbsolutePosition usw.

Wie gesagt, es ist immer noch vom ODBC/OLEDB - Treiber abhängig, ob diese Methoden unterstützt werden.


Mfg Karl


Antwort 2 von Kolja

Vergesst meine ganze Fragerei!

Ich bin dümmer als mein Hund!!
Fehler gefunden.

Mfg Kolja

Antwort 3 von Kolja

Hallo Karl!

DAs mit der Rekursion hab ich mir auch schon überlegt, klappt aber noch nicht so richtig.
Wie meinst Du das mit den zwei Schlüsselfeldern? Wenn ich Dich richtig verstehe, hast Du in der Tabelle noch ´nen Eintrag mehr, der den jeweiligen Eltern-Eintrag enthält. Der Vorteil wäre dann, daß ich mir aufwendige If-Abfragen sparen könnte. In einer Rekursionsstufe müßte ich dann nur diejenigen Knoten darstellen, die dem angeklickten Knoten entsprechen...
Vielleicht keine schlechte Idee, wenn ich das jetzt richtig interpretiert habe. Falls ich falsch liege, schreib doch bitte nochmal..

Tschüss,

Kolja