下面是C#的基本操作数据库功能:
public Ilist(Student) GetAllStudent()
{
     IList<Student> alist = new List<Student>();
            string sql = "select * from Students";
            SqlDataAdapter da = new SqlDataAdapter(sql,DBHelper.Connection);
            DataTable dt = new DataTable();
            da.Fill(dt);
            foreach (DataRow row in dt.Rows)
            {
                Student stu = new Student();
                ar.StudentWeight =float.Parse(row["studentWeight"].ToString());
               //上面这句代码一运行就报错:输入字符串不正确
那么,应该怎么写,才能把DataRow类型的转换成float类型的呢?

解决方案 »

  1.   

    你先MessageBox.Show(row[ "studentWeight "].ToString());看看是什么格式的,如果包含有数字以外的符号,就出错
      

  2.   

    float i = (float)System.Convert.ToDouble(string ss);这样写
      

  3.   

    stirng.format("{0:F2}",row[ "studentWeight "].ToString())
    这样使用string类型显示
      

  4.   


    float a ((float)(row[ "studentWeight "].ToString()))
    你 看看这样可以吧 吧 他的 整体作为一个类型 
      

  5.   

    shaojie0726你那个方法太罗嗦了,liffe说对了,我数据库里面得值是NULL所以转换失败,改一改数据库就行。