System.IndexOutOfRangeException:索引在数组c#的范围之外。代码附在下面。请在这里帮助我

时间:2018-10-25 06:16:41

标签: c# .net indexoutofrangeexception

  

System.IndexOutOfRangeException:索引超出了   数组C#...    该代码附在下面。

        List<dbcategory> complainList1 = new List<dbcategory>();
        string q = "select * from comp_detail where Roll_no ='" + RollNo + "'";

        var cmd = new SqlCommand(q, con);
        SqlDataReader sdr = cmd.ExecuteReader();
        while (sdr.Read())
        {
            dbcategory db = new dbcategory();
            db.id = sdr[0].ToString();
            db.subject = sdr[1].ToString();
            db.Description = sdr[2].ToString();
            db.invName = sdr[3].ToString();
            db.category = sdr[4].ToString();
            db.picture = sdr[5].ToString();
            db.teacherRemarks = sdr[6].ToString();
            db.status = sdr[7].ToString();

            String date = sdr[8].ToString().Split(' ').ElementAt(0);
            db.RollNo = sdr[9].ToString();
            db.date = date;
            complainList1.Add(db);
        }

        con.Close();
        return complainList1;

2 个答案:

答案 0 :(得分:0)

数组超出范围,因此您要在数组中放置比以前设置更多的值。

答案 1 :(得分:0)

可能的问题是您在sdr [index]中调用什么,索引本身不在您的sdr(数据读取器)中