0

私のプロジェクトでは、DB から詳細を取得して、それをデータセットに格納し、IF 条件でチェックしています。ブレークポイントを IF 条件行に配置し、それを実行して、正しく実行されているかどうかを確認しました。条件は失敗しています (つまり、そこにあるデータビジュアライザーでも見たデータセットの行ではありません)が、IFブロックに移動しており、インデックス例外がスロー されています。エラーの可能性は何ですか?

私のコードは、

string mac = GetMac();
DataSet dr = Namespace.SP.Storedprocedure(mac).GetDataSet();
DataSet ds = Namespace.SP.Storedprocedure(mac).GetDataSet();
try
{
    if (dr.Tables[0].Rows.Count > 0 || dr.Tables[0].Rows.Count <= 3)
    {
        string date = dr.Tables[0].Rows[0]["Date"].ToString();
        if (Convert.ToInt32(dr.Tables[0].Rows[0]["CID"]) != Convert.ToInt32(Session["CollegeID"]))
        {
            Messaging("This System is already Registered Under Different College.");
            getdet.Enabled = false;
            Register1.Enabled = false;
        }
        else if (dr.Tables[0].Rows[0]["Mac_id"].ToString() == mac)
        {
            Messaging("This System has been Already Registered for Delivery on " + date);
            getdet.Enabled = false;
            Register1.Enabled = false;
        }

    }
    else
    {
        Messaging("The Allowed Maximum Number of Systems has been Registered... ");
    }
    if (getdet.Enabled == false && Register1.Enabled == false && ds.Tables[0].Rows.Count > 0)
    {

        if (ds.Tables[0].Rows[0]["Mac_id"] != mac)
        {
            getdet.Enabled = true;
            Register1.Enabled = true;
        }
    }
    ggvqpdetail.Visible = true;
    fillgridQP();
    foreach (GridViewRow gr in ggvdetail.Rows)
    {
        Anthem.Label lb = (Anthem.Label)gr.FindControl("lbl1");
        lb.Text = "Downloading";
        break;
    }
}
catch(Exception ex)
{
    lbltxt.Text = ex.Message;
}
4

3 に答える 3