Ich habe einen Datenleser, um die Daten aus der Datenbank zu lesen. Ich lese TotalPrice aus der Verkaufstabelle. Ich möchte den Gesamtpreis als 2 Dezimalstelle angeben.
Der Code ist etwas Link, dass:
%Vor%Allerdings habe ich diesen Fehler eingefügt: keine Überladung für die Methode "ToString" benötigt 1 Argumente Was stimmt nicht mit dem Code?
Nehmen wir an, dass TotalPrice eine Dezimalspalte ist und dass myReader ein DataReader ist:
%Vor% Die Idee hier ist, dass der Indexer von myReader (was Sie verwenden, wenn Sie myReader["TotalPrice"]
aufrufen) ein Objekt zurückgibt. Es muss, da es zur Kompilierzeit nicht weiß, welcher Typ die Spalte ist. Mit .GetDecimal()
stellen Sie sicher, dass Sie einen Dezimalwert zurück oder einen Fehler erhalten.
Die .ToString
Überladung, die eine Formatzeichenfolge annimmt, wird in Dezimal deklariert, nicht in Objekt. Object's.% Co_de% benötigt keine Argumente.
Der innere Aufruf von GetOrdinal gibt den Index des Felds anhand des Namens zurück. Wenn Sie dies in einer Schleife für mehrere Datenzeilen tun, möchten Sie diese wahrscheinlich in einer Variablen zwischenspeichern.