无法将"System.Double"类型的对象强制转换为"System.String"类型

Nub*_*iya 1 c# sql string double casting

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);
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

我的Balance字段数据类型是float.我需要将其转换为字符串.

这是我得到的信息

无法将"System.Double"类型的对象强制转换为"System.String"类型

有人可以指导我让这个错误免费

Mat*_*ten 7

尝试一下

object value = reader.GetValue(reader.GetOrdinal("Balance"));
txtbalance.Text = value.ToString();
Run Code Online (Sandbox Code Playgroud)

如果要读取的行数很多,则应该GetOrdinal在循环外部执行

int idxBalance = reader.GetOrdinal("Balance");
Run Code Online (Sandbox Code Playgroud)

并在idxBalance以后使用.