6

これを整理するのを手伝ってください...「位置0に行がありません」、「範囲外のインデックス例外はユーザーコードによって処理されませんでした」というエラーが表示されます

以下は私のコードです

protected void Page_Load(object sender, EventArgs e)
{
    MTMSService obj = new MTMSService();
    DBAccess db = new DBAccess();
    {
        MTMSDTO objc = new MTMSDTO();
        {
            objc.TaskID = Convert.ToInt32(Session["TaskID"]);
            DataSet rep = obj.GetReports(objc);
            DataView Rprts = new DataView();
            Rprts.Table = rep.Tables[0];

            LblTaskID.Text = rep.Tables[0].Rows[0]["TaskID"].ToString();
            LblTaskName.Text = rep.Tables[1].Rows[0]["TaskName"].ToString();
            LblDueDate.Text = rep.Tables[2].Rows[0]["DueDate"].ToString();
            LblDescription.Text = rep.Tables[3].Rows[0]["Description"].ToString();
            LblAssignBy.Text = rep.Tables[4].Rows[0]["AssignBy"].ToString();
            LblStatus.Text = rep.Tables[5].Rows[0]["Status"].ToString();
            LblPercentageComplete.Text = 
                    rep.Tables[6].Rows[0]["PercentageComplete"].ToString();

            LblTaskName.Visible = true;
            LblAssignBy.Visible = true;
            LblDescription.Visible = true;
            LblDueDate.Visible = true;
            LblStatus.Visible = true;
            LblPercentageComplete.Visible = true;
            LblAssignTo.Visible = false;
        }
    }
}
4

4 に答える 4

4

以前のアドバイスはすべて適切であり、それに従う必要があります。

ただし、位置0に行がない理由は、間違ったテーブルを見ているためであることは明らかです。あるテーブルにID、別のテーブルに名前などがあるとは思えませんが、データごとに異なるテーブルにインデックスを付けています。

rep.Tables[1]
rep.Tables[2]
rep.Tables[3]
rep.Tables[4]
rep.Tables[5]
rep.Tables[6]

すべてあるはずです

rep.Tables[0]

確かにテーブルは 1 つしかありませんが、テーブル 0 からテーブル 6 を見ています!

于 2013-06-27T13:06:28.540 に答える