4 Stimmen

Element: Um eine indizierte Eigenschaft zu bewerten, muss die Eigenschaft qualifiziert sein und die Argumente müssen vom Benutzer explizit bereitgestellt werden.

Ich habe mehrere Kombinationsfelder erstellt, aus denen ich Daten für jedes von ihnen aus dem erstellten gespeicherten Prozedur extrahiert habe, all diese Felder haben bis heute früher funktioniert, 2 der Kombinationsfelder funktionieren nicht mehr, beim Überprüfen des "Immediate-Fensters" für die Zeilen und Spalten habe ich Ergebnisse für die Spalten erhalten, aber wenn ich z.B. nach den Spalten suche ?dsContactTitles.Tables(0).Rows, bekomme ich Folgendes als Teil der Liste, die angezeigt wird:

Item: Um eine indizierte Eigenschaft zu bewerten, muss die Eigenschaft qualifiziert sein und die 
Argumente müssen explizit vom Benutzer bereitgestellt werden.

Sonst bekomme ich eine ArrayOutOfBoundException, wenn ich nach einer bestimmten Zeile suche. Das hat lange Zeit perfekt funktioniert, weiß jemand bitte die Ursache dieser Inkonsistenz?

3voto

competent_tech Punkte 43546

Da du das gesamte Rows-Objekt im Immediate-Fenster ablegst, siehst du die Liste der Eigenschaften für das Rows-Objekt. Eine der Eigenschaften ist Item, aber dafür wird ein Index benötigt, um gültige Daten anzuzeigen, was dir die Meldung sagt.

Wenn du dir ?dsContactTitles.Tables(0).Rows.Item(0) anschaust, wirst du die erste Zeile sehen, falls eine vorhanden ist.

Wenn du eine bestimmte Zeile überprüfst und einen Index außerhalb des Bereichsfehlers erhältst, bedeutet dies, dass du die Zeile nicht mehr aus der Datenbank abrufst. Versuche, dein gespeichertes Verfahren manuell auszuführen, um zu sehen, ob es die erwarteten Werte zurückgibt. Wenn nicht, musst du entweder deine Datenbank oder das gespeicherte Verfahren aktualisieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X