Member 12770648 Ответов: 2

Сегмент программы имеет предложение "if", встроенное в кнопку ADD. Предложение "если" не работает


protected void Add_Click(object sender, EventArgs e)
        {
            //Add Begin
            try
            {
                // Connection to the database
                string str;
                str = ConfigurationManager.ConnectionStrings["WEBHR"].ConnectionString;
                SqlConnection sqlCon = new SqlConnection(str);
                SqlCommand sqlCmd = new SqlCommand("sp_GenerateLeaveID", sqlCon);
                sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;

                // Create and supply the output parameters
                string intno,intno1,intno2;
          
                intno2 = txt_idcnt.Text;

                if (intno2 == "")
                {
                    lblstatus.Text = "No record Selected";
                }

                // Execute the stored procedure
                sqlCmd.ExecuteNonQuery();
                sqlCon.Close();
            }
            catch (Exception ex)
            {
                lblstatus.Text = ex.Message;
            }
            //Add End
        }


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

intno2 = txt_idcnt.Text;
                if (intno2 == "")
                {
                    lblstatus.Text = "No record Selected";
                }

Когда txt_idcnt.Текст пуст условие пропущено

MadMyche

Выполняется ли процедура? Что отображается?

Member 12770648

Да

MadMyche

Так что эта часть работает. Что должно измениться в зависимости от вашего вклада? Единственное, что я вижу, - это метка "нет выбранной записи", которая зависит исключительно от входной страницы.

Member 12770648

Если запись выбрана из сетки для заполнения текстовых полей на странице и txt_idcnt.Текст пуст

intno2 = txt_idcnt.Текст;

если (intno2 == "")
{
lblstatus.Text = "Запись Не выбрана";
}

Member 12770648

После этого для отправки будет выбрана кнопка Добавить.

Если intno2 пуст, то условный оператор должен сработать.

MadMyche

И что же stp-Пошаговая отладка говорит вам о том, что значения находятся на этом пути?

Member 12770648

Нулевой

Как вы проверяете на null

Karthik_Mahalingam

что такое текст, отображаемый на lblstatus.Текст ?

Member 12770648

Как вы проверяете наличие null?

F-ES Sitecore

if (myVar == null)

2 Ответов

Рейтинг:
0

OriginalGriff

Используйте отладчик - это единственный способ узнать, что происходит. Мы не можем запустить ваш код в тех же условиях, поэтому мы действительно не можем сказать вам "сделай это".

Поставьте точку останова на линии

str = ConfigurationManager.ConnectionStrings["WEBHR"].ConnectionString;
И когда он достигнет его, отладчик остановится. Шагайте по одной строке, внимательно смотрите на каждую переменную и точно следите за тем, что происходит. Вы должны быть в состоянии решить это для себя, но если вы все еще не можете, по крайней мере, у вас будет информация, чтобы помочь нам решить это. На данный момент все, что у вас есть,-это "это не работает", которое никому не помогает!

Кстати: я бы настоятельно рекомендовал вам использовать using блоки вокруг ваших объектов SQl, чтобы убедиться, что они закрыты и расположены правильно:
try
{
    // Connection to the database
    string str;
    str = ConfigurationManager.ConnectionStrings["WEBHR"].ConnectionString;
    using (SqlConnection sqlCon = new SqlConnection(str))
    {
        using (SqlCommand sqlCmd = new SqlCommand("sp_GenerateLeaveID", sqlCon))
        {
            sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;

            // Create and supply the output parameters
            string intno,intno1,intno2;

            intno2 = txt_idcnt.Text;

            if (intno2 == "")
            {
                lblstatus.Text = "No record Selected";
            }

            // Execute the stored procedure
            sqlCmd.ExecuteNonQuery();
        }
    }
}
catch (Exception ex)
{
    lblstatus.Text = ex.Message;
}


Рейтинг:
0

Richard MacCutchan

Используйте соответствующие методы, доступные в классе String: Строка.Метод IsNullOrEmpty (System) | Microsoft Docs[^].