单击按钮时的IndexOutOfRangeException

时间:2016-10-29 17:16:29

标签: c# asp.net

我正在制作一个简单的购物车。将产品添加到购物车页面的按钮位于另一个页面,我的添加到购物车按钮如下

 protected void addCart_Click(object sender, EventArgs e)
        {
            if (Session["mySC"] == null)
            {
                mySC = new CartClass();
                Session["mySC"] = mySC;

            }

            string ID = Request.QueryString["ID"];
            mySC = (CartClass)Session["mySC"];
            DataTable dt = DA.selectQuery("Select * from Trees where ID='"+ID+"'");
            DataRow row = dt.Rows[0];
                mySC.insert(new cartItems(Int32.Parse(ID),
                    row["TreeName"].ToString(),
                    row["Image"].ToString(),
                    Double.Parse(row["PricePerCube"].ToString()), 1));


        }
    }

单击此按钮时会弹出以下错误

System.IndexOutOfRangeException中出现System.Data.dll类型的例外但未在用户代码中处理

附加信息:位置0没有行。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

DataRow row = dt.Rows[0];

如果没有返回行,将抛出异常。在它之前添加if条件

If (dt.Rows.Count > 0){

DataRow row = dt.Rows[0];
            mySC.insert(new   cartItems(Int32.Parse(ID),
                row["TreeName"].ToString(),
                row["Image"].ToString(),
                    Double.Parse(row["PricePerCube"].ToString()), 1));



}