Do until EOF-Schleife durch Datensätze in VB 2010

Ich habe ein Programm unter, das scheint nicht zu tun, was ich will, es zu tun. Im Allgemeinen, der pseudocode ist: geben Sie die Anzahl der Meilen (Meilen.text), klicken Sie auf die Schaltfläche, überprüfen Sie: ist die Laufleistung eingegeben, die kleiner oder gleich dem Kilometerstand radius (milestotextbox) in der Datenbank? Wenn ja, greifen die LKW-rate entspricht, daß der radius (truckloadratetext) und zeigt Sie in einem Textfeld namens "rate" (rate.text) und, wenn nicht, weiter suchen, bis ein EOF-Zeichen. Ich habe gezeigt, den folgenden code. Es erlaubt mir, geben Sie die Laufleistung aber nicht überprüfen und das Ergebnis anzeigen.

Die Daten in der Tabelle sieht wie folgt aus:

ID  MILESTO TRUCKLOADRATE
1    50        200
2    100       300
3    200       700
4    300       800

So, wenn jemand eine Laufleistung wie 10, ich möchte es zu nehmen die LKW-rate von $200. Wenn jemand 250, die rate würde dann bei 800. Ich bin nicht allzu hung, die jetzt über das, was passiert, wenn eine Laufleistung liegt außerhalb des Bereichs. Nur versuchen, herauszufinden, warum die Quantenmechanik so etwas nicht funktioniert. Es ist mein erstes mal mit Datensätze mit einem LOOP-Befehl, so dass ich versuche, halten Sie es einfach mit meinem Programm.

Was könnte ich falsch gemacht? Danke im Voraus und hoffe, dass alle eine tolle Neue Jahr!

Public Class Form1

    Private Property EOF As Boolean

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the '_test_2DataSet.test' table. You can move, or remove it, as needed.
        Me.TestTableAdapter.Fill(Me._test_2DataSet.test)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Do Until EOF()
            If Val(MilestoTextBox.Text) <= Val(Miles.Text) Then
                rate.Text = TruckloadTextBox.Text
            End If
        Loop
    End Sub
End Class
  • Wo ist EOF jemals aufgestellt?
  • Wichtigere Frage...warum Sie die Schleife durch die Tabelle anstelle der Verwendung von SQL?
  • nycdan: habe Versucht, die SQL-Abfrage-generator, aber es war einfach nicht gehen, es zu tun, denn ich brauche für weitere Berechnungen mit der Zahl, die die Suche findet. Ich glaube, ich brauche zu üben mit SQL. Versuchen zu lernen, mehr VB.
  • Da EOF wird nie geändert, es wird immer falsch sein und die Schleife wird niemals enden! Auch Sie nicht Lesen Milesto aus dem DataSet überall.
InformationsquelleAutor Shawn | 2011-12-30
Schreibe einen Kommentar