Мое приложение использует цикл For ... Next, чтобы прочитать электронную таблицу в DataSet и затем отобразить информацию из нее на основе результатов условий поиска (условия поиска и диапазон дат).
I'mвозникла проблема с данными, когда при запуске поиска, который должен вернуть первые 400 строк в электронной таблице, я получаю только около 200 результатов.Я знаю, что поиск должен вернуть 400 строк, потому что я проверил это в электронной таблице перед запуском поиска.
Я думаю, что моя проблема может быть вызвана моими сравнениями дат.Я думаю, что проблема может заключаться в том, что я сравниваю строковое значение, поэтому, если кто-нибудь сможет показать мне более эффективный способ сравнения дат, то это будет здорово.
Вот мой код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ListBox1.Items.Count <> 0 Then : ListBox1.Items.Clear() : End If
Dim j As Integer = 0
If TextBox1.Text.Length = 4 Then
For i As Integer = 0 To CallData.Tables(0).Rows.Count - 1
'MsgBox(CallData.Tables(0).Rows(i)(2) & " - FROM( " & DateTimePicker1.ToString & " ) TO( " & DateTimePicker2.ToString & " )")
If CallData.Tables(0).Rows(i)(3).ToString = TextBox1.Text _
And CallData.Tables(0).Rows(i)(2).ToString > DateTimePicker1.Value.ToString _
And CallData.Tables(0).Rows(i)(2).ToString < DateTimePicker2.Value.ToString Then
ListBox1.BeginUpdate()
ListBox1.Items.Add(CallData.Tables(0).Rows(i)(2).ToString)
ListBox1.EndUpdate()
j = j + 1
End If
Next
Label1.Text = j & " records found."
End If
End Sub