VB6 Recordset aktualisieren

Mir läuft ein vb6-Programm Durchlaufen Sie mehrere Datensätze in einer Datenbank-Tabelle und Eingabe eines Datums in ein Feld. Dies wird viele Stunden dauern zu laufen.

Ich bin zu bemerken, dass die Anzahl der Datensätze in der Tabelle steigt von 1 alle paar Sekunden, und dann die Verringerung um 1 (geht zurück auf die ursprüngliche Zählung). Gibt es einen Grund für dieses?

Ich bin mit einem VB6-recordset-und die update-Funktion, d.h. rs.update. Ich bin nicht einfügen neuer Datensätze.

Der code ist wie folgt:

rs.Open "select reference,value1,datefield from datetable where field1 = 'value1' " & _
    "order by reference", objAuditCon.ActiveCon, adOpenStatic, adLockPessimistic

Do While Not rs.EOF
    intReadCount = intReadCount + 1
    DoEvents
    If Not IsNull(rs("value1")) Then
        testArray = Split(rs("value1"), ",")
        rs2.Open "SELECT Date FROM TBL_TestTable WHERE Record_URN = '" & testArray(1) & "'", objSystemCon.ActiveCon, adOpenStatic, adLockReadOnly
        If rs2.EOF Then

        End If
        If Not rs2.EOF Then
            rs("DateField") = Format$(rs2("Date"), "dd mmm yy h:mm:ss")
            rs.Update
            intWriteCount = intWriteCount + 1
        End If
    rs2.Close
    Else    
    End If

rs.MoveNext
Loop
rs.Close
  • Ich kann keinen Grund sehen, die für die Anzahl der Datensätze zu vergrößern, aber einfach nur neugierig, warum nicht Sie ausführen von SQL-Anweisungen zur Aktualisierung der Informationen vs Schleife durch die Datensätze? Dann könnte man ein update Haufen auf einmal.
  • Warum nicht erstellen Sie eine Gespeicherte Prozedur, und klicken Sie dann führen Sie es über den code? Dies sollte Sie verbessern die Prozess-Zeit ein wenig.
  • Ich denke, dass könnte es sein eine zusätzliche Zeile für caching-Zwecke vielleicht?
  • Wie sind Sie mit der Bestimmung, dass die Anzahl der Datensätze ändert?
  • CraigJ, ich bin einfach der running count in der SQL Studio Manager also select count(*) from datetable? Drücken Sie die execute-Taste jede Sekunde, die Zählung gelegentlich erhöht, indem Sie einen Datensatz und dann sofort verringert, indem Sie einen Datensatz? Haben Sie irgendwelche Ideen? Danke.
  • Was interessanter wäre ist, welche Daten in diese zusätzliche Zeile. In jedem Fall, die Quintessenz ist, dass, wenn es nicht tatsächlich verursacht ein problem für dich ist, dann Mach dir keine sorgen. Sie könnte informieren Sie Microsoft über das Problem und sehen, was Sie sagen. Sie sind dazu gedacht, um Unterstützung zu leisten.
  • MS nicht unterstützen wahrscheinlich, da es mit einer VB 6 Anwendung. Sie stützen nicht mehr. Möglicherweise hängen von der Datenbank-version, aber wahrscheinlich würden Sie sich nicht berühren.

InformationsquelleAutor w0051977 | 2012-01-05
Schreibe einen Kommentar