Member 12770648 Ответов: 1

Выбранную строку в GridView GridView в другой заполняет с параметрами от начального


сообщение об ошибке

Object reference not set to an instance of an object.


вокруг
string intno4, intno5;



Как мне решить эту проблему ?

Спасибо




protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
     {
         //GRIDVIEW BEGIN

         //txtSave.Enabled = false;
         try
         {
             //connection to the database
             //
             //
             string str;
             str = ConfigurationManager.ConnectionStrings["WEBHR"].ConnectionString;
             SqlConnection sqlcon = new SqlConnection(str);

             string intno,intno2;
             string intno4, intno5;

             //Get the intno
             intno  = GridView1.SelectedRow.Cells[1].Text;
             intno2 = GridView1.SelectedRow.Cells[4].Text;

             //call the stored procedure
             SqlCommand SqlCmd = new SqlCommand("sp_Getleavactid", sqlcon);
             SqlCmd.CommandType = System.Data.CommandType.StoredProcedure;


             //Supply the User_id parameter
             SqlCmd.Parameters.AddWithValue("@BRNNO", intno);
             SqlCmd.Parameters.AddWithValue("@BYEAR", intno2);

             //Create and supply the output parameters


             SqlCmd.Parameters.Add("@BEMPNO", System.Data.SqlDbType.VarChar, 50);
             SqlCmd.Parameters["@BEMPNO"].Direction = System.Data.ParameterDirection.Output;

       //Open the sql data connection
             sqlcon.Open();

             //Execute the stored procedures
             SqlCmd.ExecuteNonQuery();

             //Assign the results to the controls


             txt_Code.Text       = SqlCmd.Parameters["@BRNNO"].Value.ToString();
              txt_Year.Text       = SqlCmd.Parameters["@BYEAR"].Value.ToString();


             lblstatus.Text = "Grid record successful";

             //
             //
             sqlcon.Close();

             ///
             ///
             ///GRIDVIEW2
             ///
             ///

             string str1;
             str1 = ConfigurationManager.ConnectionStrings["WEBHR"].ConnectionString;
             SqlConnection sqlcon1 = new SqlConnection(str1);

             string intno4, intno5;

             //Get the intno
             intno4 = GridView2.SelectedRow.Cells[1].Text;
             intno5 = GridView2.SelectedRow.Cells[4].Text;

             //call the stored procedure
             SqlCommand SqlCmd1  = new SqlCommand("sp_GetLeavGrid2id", sqlcon1);
             SqlCmd1.CommandType = System.Data.CommandType.StoredProcedure;


             //Supply the User_id parameter
             SqlCmd1.Parameters.AddWithValue("@BRNNO", intno4);
             SqlCmd1.Parameters.AddWithValue("@BYEAR", intno5);

             //Create and supply the output parameters

             //Create and supply the output parameters
             SqlCmd1.Parameters.Add("@BEMPNO", System.Data.SqlDbType.VarChar, 50);
             SqlCmd1.Parameters["@BEMPNO"].Direction = System.Data.ParameterDirection.Output;


             //Open the sql data connection
             sqlcon1.Open();

             //Execute the stored procedures
             SqlCmd1.ExecuteNonQuery();

             //Assign the results to the controls

             txt_Code.Text = SqlCmd1.Parameters["@BRNNO"].Value.ToString();
             txt_Year.Text = SqlCmd1.Parameters["@BYEAR"].Value.ToString();



             //  txt_Ed_Date.Text = SqlCmd.Parameters["@BEDDATE"].Value.ToString();

             lblstatus.Text = "Grid2View record successful";

             //
             //
             sqlcon1.Close();




             ///
             ///
             ///GRIDVIEW2
             ///
             ///



         }
         catch (Exception ex)
         {
             lblstatus.Text = ex.Message;

         }

         //GRIDVIEW END
     }


Что я уже пробовал:

Пробовал отлаживать безрезультатно. Это конкретный пример

Karthik_Mahalingam

Как эта строка вызовет ошибку ссылки на объект

 string intno4, intno5;

Member 12770648

Когда я отлаживал

1 Ответов

Рейтинг:
0

CHill60

Это не может быть линия, которую вы указываете , - как указал Картик Бангалор.

Скорее всего, это будет одна из линий, похожих на

intno4 = GridView2.SelectedRow.Cells[1].Text;

Если ячейки[1] пусты, то .Текстовый вызов сгенерирует ошибку, с которой вы столкнулись. Аналогично если в GridView нет выбранной строки вы получите ту же ошибку