Unable to cast object of type 'System.Double' Typ 'System.String'
SqlDataReader reader;
String sqlreadcom = "SELECT Balance FROM IncomeGenerator";
using (reader = new SqlCommand(sqlreadcom,sqlCon).ExecuteReader())
{
if(reader.HasRows)
{
while(reader.Read())
{
String value = reader.GetString(reader.GetOrdinal("Balance"));
txtbalance.Text = Convert.ToString(value);
}
}
}
Meine Balance
Feld-Datentyp ist float
. Brauche ich für die Konvertierung in einen string.
Dies ist die Botschaft, die ich bin immer
Unable to cast object of type
'System.Doppel' zu geben
'System.String'
Kann jemand mich leiten, um diesem Fehler frei
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit
Wenn es viele Zeilen zu Lesen, sollten Sie die
GetOrdinal
außerhalb der Schleife wieund verwenden
idxBalance
später.Sollten Sie verwenden
konvertieren und es einfach:
Edit:
Wenn ich den code sehen wieder(wenn Sie es ändern, wie unten):
was ist der Zweck der UI-update in jeder iteration? Benutzer können, nicht sehen, nichts in diesem Fall, in
txtbalance.Text = val.ToString();
Sie zeigen nur letzten Datensatz Wert. Anstatt also Holenn
Element aus der DB, die in der Abfrage tun, irgendeine Art von Ordnung und zeigen nur den ersten Eintrag.Lesen, es ist
float
erste:dann
ToString()
es:und wenn Sie möchten, können Sie formatieren Sie Sie (beispielsweise mit format Währung):
Verwenden
reader["Balance"].ToString()
Versuchen