private void Bind()
        {
            string id = Session["phoneid"].ToString();
            SqlConnection sql = new SqlConnection(con);
            sql.Open();
            string com = "select *,price*num from cart where phoneid='" + id + "'";
            SqlDataAdapter da = new SqlDataAdapter(com,sql);
            DataSet ds = new DataSet();
            da.Fill(ds);
            float count = 0;
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                count += Convert.ToSingle(dr[6]);
            }
            M_str_Count = count.ToString();
            GridView1.DataSource = ds;
            GridView1.DataBind();
            sql.Close();        }

请问 count += Convert.ToSingle(dr[4]);中的dr[4]取出来的是什么值,我运行报错的值,我数据表里是没有的

解决方案 »

  1.   

    dr[4]
    数据行(SQL语句中select后的)第5列对应的值,object类型,转换为float
      

  2.   

    select *查询了表中的所有列,最后追加price*num 列
      

  3.   

    LZ Convert.ToSingle(dr[4]) 这个值没有 报的什么错呢 ?你得放出来 这个是取的dataset的第5行的值
      

  4.   

    报错的可能性有多种
    第一,你的列数不够dr[n]取的是第n+1列数据,请确定有这么多列
    第二,某一项值为DBNull你可以用if(dr[n]!=DBNull.Value)过滤面对这种情况你可以用DataSet的Compute函数来计算,更省力
      

  5.   

    DataBinding:“System.Data.DataRowView”不包含名为“userid”的属性。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: DataBinding:“System.Data.DataRowView”不包含名为“userid”的属性。源错误: 
    行 80:             M_str_Count = count.ToString();
    行 81:             GridView1.DataSource = ds;
    行 82:             GridView1.DataBind();
    行 83:             sql.Close();
    行 84:  
      

  6.   

    我的数据库是phoneid,model,picture,price,num,username,就这几个,但报了上面的错
      

  7.   

    看不到你的图片
    你的SQL写的太烂了。。
    把*改成需要的字段名称。。
    string com = "select *,price*num from cart where phoneid='" + id + "'";
    如:
    string com = "select id,xxx1,xxx2,xxx3,xxx4,xxx5,xxx6,price*num from cart where phoneid='" + id + "'";论坛签名======================================================================a161619:你好!
    截至 2011-10-23 20:40:15 前:
    你已发帖 3 个, 未结贴 1 个;
    结贴率为: 66.67%

    当您的问题得到解答后请及时结贴.

    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖如何给自己的回帖中也加上签名?
    http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx