Impossible de convertir l'objet de type 'System.Double' de type '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);
}
}
}
Mon Balance
type de données de champ est float
. J'ai besoin de les convertir en string.
C'est le message que je reçois
Impossible de convertir l'objet de type
'Système.Double " de type
'Système.String'
Quelqu'un peut-il me guider pour faire de cette erreur
Vous devez vous connecter pour publier un commentaire.
Essayer avec
Si il y a beaucoup de lignes à lire, vous devriez faire la
GetOrdinal
à l'extérieur de la boucle commeet l'utilisation
idxBalance
plus tard.Vous devez utiliser
et de convertir simplement:
Edit:
Quand je vois ton code(si vous le modifier comme ci-dessous):
quel est le but de l'INTERFACE utilisateur mise à jour à chaque itération? l'utilisateur ne peut pas voir quoi que ce soit dans ce cas, en
txtbalance.Text = val.ToString();
Vous de montrer le dernier enregistrement de la valeur. Ainsi, au lieu d'aller chercher de l'n
élément de DB, dans votre requête n'certain ordre et de montrer premier élément.Lire c'est
float
première:et puis
ToString()
c':et si vous le souhaitez, vous pouvez les mettre en forme (exemple avec format de devise):
Utilisation
reader["Balance"].ToString()
Essayer