VB-Datenbank-Anwendung Problem
XXL 30.08.2005 - 16:33 688 2
XXL
insomnia
|
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
|
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 ![:(](/images/smilies/frown.gif) , würde mich aber brennend interessieren...
Bearbeitet von Gulinborsti am 30.08.2005, 17:17
|
XXL
insomnia
|
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 ..
|