2016-04-20 8 views
0

So durch jede Zeile eines ADODB-Cord-Schleife Ich versuche nur, dass die Recordset.MoveNext() stoppt auf halbem Weg mit Fehler EOF Nachdem ich diesen Fehler passieren Meine Tabelle hat 95.520 Zeilen und Numverif den Wert hält: 47760 so ist es nur halbASP.NET ADODB RecordSet Looping

Dim con As ADODB.Connection = New ADODB.Connection 
Dim RecSet As New ADODB.Recordset 
Dim numverif As Integer = 0 
con.Open("Provider=SQLNCLI10;Server=xxxx.xx.xx.xxxx;Database=nameOfDB;Uid=user;Pwd=pass") 
RecSet.Open("select * from table1", con, CursorTypeEnum.adOpenStatic, 1) 
count.Text = RecSet.GetString(StringFormatEnum.adClipString, 10, " _ ", Environment.NewLine, "null") 

Do While Not RecSet.EOF 
    Dim IdontCareAboutThisVariable As String = RecSet.GetString(StringFormatEnum.adClipString, 1, "`", , "NULL") 
    numverif= numverif + 1 
    'The next line throws the error 
    RecSet.MoveNext() 
Loop 
con.Close() 
count.Text = numverif.ToString 

Sorry für schlechtes Englisch iteriert.

+0

Könnte es sein, dass 'GetString' automatisch eine' MoveNext' tut? –

+0

Ich habe die Anweisung RecSet.MoveNext() entfernt und jetzt funktioniert es ein bisschen langsam, aber es ist OK – Stefan

Antwort

0

Jetzt funktioniert es:

Dim con As ADODB.Connection = New ADODB.Connection 
    Dim RecSet As New ADODB.Recordset 
    Dim numverif As Integer = 0 
    con.Open("Provider=SQLNCLI10;Server=xxxx.xx.xx.xxxx;Database=nameOfDB;Uid=user;Pwd=pass") 
    RecSet.Open("select * from table1", con, CursorTypeEnum.adOpenStatic, 1) 
    count.Text = RecSet.GetString(StringFormatEnum.adClipString, 10, " _ ", Environment.NewLine, "null") 

    Do While Not RecSet.EOF 
     Dim IdontCareAboutThisVariable As String = RecSet.GetString(StringFormatEnum.adClipString, 1, "`", , "NULL") 
     numverif= numverif + 1 
    Loop 
    con.Close() 
    count.Text = numverif.ToString