"We are back" « oc.at

VB-Datenbank-Anwendung Problem

XXL 30.08.2005 - 16:33 688 2
Posts

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
Ich programmiere grad an einer Anwendung die in einer Datenbank was suchen soll, das funktioniert soweit
aber ich muss wenn das SQL-Statement auf die Datenbank geschickt und verarbeitet wird die Möglichkeit einbauen das man das Recordset abbrechen kann, ich hab auch schon eine Funktion dafür eingebaut nur braucht das abbrechen genauso lange wie wenn man es ohne abbrechen durchlaufen lässt
So und jetzt der Code:

Set RS = Nothing
Set RS = New ADODB.Recordset
RS.CursorLocation = adUseClient
RS.Source = strSQL
RS.ActiveConnection = cnn
RS.CursorType = adOpenForwardOnly
RS.LockType = adLockReadOnly


RS.Open , , , , adAsyncExecute 'rs öffnen
'DoEvents
Do While RS.State = adStateExecuting Or RS.State = adStateOpen + adStateFetching
'Call abort
'DoEvents
'If RS.State = adStateClosed Then Exit Do
'Call myDoEvents


If PeekMessage(myMSG, 0, 0, 0, 1) Then
Call TranslateMessage(myMSG)
Call DispatchMessage(myMSG)
Else
Call Sleep(1)
End If

If dummy5 = True Then

cnn.Cancel
RS.Cancel
Set RS.ActiveConnection = Nothing

MsgBox "Suche abgebrochen", vbOKOnly, "Abbruch"
Exit Do
End If
Loop

rs ist das recordset und cn die verbindung, hat vielleicht wer schonmal ein ähnliches Problem gehabt und weiss wie mans behebt?

Gulinborsti

Addicted
Avatar
Registered: Mar 2004
Location: Wien
Posts: 469
Das Problem ist mir aus meiner Firma bekannt, RS.Cancel greift erst, sobald das SELECT Statement DB-seitig fertig abgearbeitet wurde.

Ich habe das allerdings immer auf den miesen ODBC Treiber für unsere Datenbank geschoben, so gesehen könnte es natürlich auch eine allgemeine Schwäche von ODBC sein.

Lösung dafür hab ich aber leider auch keine :(, würde mich aber brennend interessieren...
Bearbeitet von Gulinborsti am 30.08.2005, 17:17

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
ich hab schon in einigen foren geschaut und es gibt unmengen von leute mit dem prob, was ich schon gelesen hab ist das ado zwar abbricht die datenbank aber trotzdem noch daten schickt ...
ich hoffe es findet bald irgendwer den stein der weisen ..
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz