2016-12-06 1 views
0

Der folgende Code soll eine ID-Nummer generieren, wenn ein Client-Datensatz zu der Datei hinzugefügt wird. Aber die ID-Nummer, die es erzeugt, kommt immer als 0 heraus. Warum ist das?VB.NET Code generiert einen Wert von 0, aber ich kann nicht sehen, wie das möglich ist

For index = 1 To LOF(1)/Len(ClientRecord) 
      FileGet(1, ClientRecord, index) 
      If ClientRecord.ClientID > IDofClientRecord Then 
       IDofClientRecord = ClientRecord.ClientID 
      End If 
      IDofClientRecord = IDofClientRecord + 1 
      IDofClientRecord = ClientRecord.ClientID 
     Next 
+0

Es ist sooooo viel einfacher Datensätze zu speichern in einer Datenbank oder serialisieren eine Sammlung von ihnen als diese Legacy-VB-Funktionen verwenden – Plutonix

+0

Leider muss ich es so für meinen Kurs tun. –

Antwort

0

Es gibt eine Menge, die Sie hier nicht angeben, aber lassen Sie uns einen Stich geben. Wenn die ID, die Sie zu erzeugen versuchen ClientRecord.ClientID ist, dann denke ich, das Ihr Problem ist:

IDofClientRecord = IDofClientRecord + 1

IDofClientRecord = ClientRecord.ClientID

Die zweite Zeile überschreibt die erste Linie und Sie machen nie Fortschritte. Wenn Sie die vorletzte Zeile umgekehrt zu:

ClientRecord.ClientID = IDofClientRecord

es funktionieren kann, aber das nimmt an Informationen nicht in der Aufzeichnung ;-)

+0

Während dieses _should_ streng sicherstellen 'ClientRecord.ClientID's, es _seems_ zu erhöhen" ClientRecord.ClientID ", selbst wenn es begann (wurde von Datei abgerufen) größer als' IDofClientRecord'. – greybeard

+0

Ich habe das versucht, aber es hat etwas sehr seltsames getan. Die clientID wurde jedesmal um eine größere Zahl erhöht. Es ging von 1 zu 2 zu 4 zu 7 zu 11 zu 16 und so weiter. Ich kann es nicht herausfinden –

+0

yeah, es ist etwas falsch mit der Logik, aber ich kann nicht sagen, was Sie versuchen zu tun. Können Sie besser erklären, was dieser Code versucht? – Chestdawg

Verwandte Themen