powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Событие срабатывает только со второго нажатия на кнопку
10 сообщений из 10, страница 1 из 1
Событие срабатывает только со второго нажатия на кнопку
    #38616309
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Подскажите пожалуйста.. Есть кнопка id = заказ. Вешаю событие Заказ_click

Код события:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
 protected void Заказ_Click(object sender, EventArgs e)
    { 
              //Вставка данных из основной формы в БД.
              SqlDataSource4.Insert();

            using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["TNConnectionString"].ConnectionString))
            {
                string query = @"SELECT TOP (1) тн.Заказ.ВидПоследнегоТО, тн.Заказ.ДатаПредТО, тн.Заказ.КодЗаказа, тн.Заказ.КодСЦ, тн.Заказ.КодВЧ, тн.Заказ.Шасси, тн.Заказ.Модификация, тн.Заказ.ГодВыпуска, тн.Заказ.ВидОбслуживания, тн.Заказ.Пробег, тн.Заказ.ДатаРегистрации, тн.СервисныеЦентры.НаименованиеСЦ, тн.Заказ.КодЗаказаПоСЦ FROM тн.Заказ INNER JOIN тн.СервисныеЦентры ON тн.Заказ.КодСЦ = тн.СервисныеЦентры.КодСЦ Where тн.Заказ.КодСЦ = '" + КодСЦ.Text + "' and КодВЧ = '" + вч.Text + "' and Шасси = '" + шасси.Text + "' and Модификация = '" + модификация.Text + "' and ГодВыпуска = '" + годвыпуска.Text + "' and ВидОбслуживания = '" + видобслуживания.Text + "' and Пробег = '" + пробег.Text + "' order by ДатаРегистрации desc";
                // Response.Write(query);
                SqlCommand cmd = new SqlCommand(query, cn);
                cn.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                //Чтение из базы данных Модификация, ГодВыпуска и автозаполнение их в поле Модификация.Text и ГодВыпуска.Text
                int stroka = 1;
                while (reader.Read())
                {
                    if (stroka == 1)
                    {
                        ZAKAZ.Text = reader["КодЗаказа"].ToString();
                        КодСЦ.Text = reader["КодСЦ"].ToString();
                        using (SqlConnection cn1 = new SqlConnection(ConfigurationManager.ConnectionStrings["TNConnectionString"].ConnectionString))
                        {
                            string query1 = @"select max(КодЗаказа)+1 as КодЗаказаПоСЦ from тн.Заказ where КодСЦ='" + КодСЦ.Text + "'";
                            SqlCommand cmd1 = new SqlCommand(query1, cn1);
                            cn1.Open();
                            SqlDataReader reader1 = cmd1.ExecuteReader();
                            //Чтение из базы данных Модификация, ГодВыпуска и автозаполнение их в поле Модификация.Text и ГодВыпуска.Text

                            while (reader1.Read())
                            {
                                max.Text = reader1["КодЗаказаПоСЦ"].ToString();
                            }
                            reader1.Close();
                            cn1.Close();
                        }
                    }
                    stroka = stroka + 1;
                }
                reader.Close();
                cn.Close();
            }    
}   



Так вот почему то данные добавляются и вообще всё остальное делается, только когда нажимаю второй раз на кнопку...что я нетак делаю.уже голову сломала. Причём раньше всё было нормально. а иногда через раз..а сейчас вообще постоянно.
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38616320
Кавказ-сила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38616329
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кавказ-сила
да да оч информативно.
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38616449
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
while (reader.Read())


и
Код: c#
1.
while (reader1.Read())


можете смело заменить на
Код: c#
1.
if (reader.Read())


и
Код: c#
1.
if (reader1.Read())



лишние чтения вам тут совсем не нужны
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38616453
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
впрочем лишних чтений и так не будет, в каждом рекордсете по одной записи... просто код какой-то некошерный...
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38616461
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
                int stroka = 1;
                while (reader.Read())
                {
                    if (stroka == 1)
                    {
                        ZAKAZ.Text = reader["КодЗаказа"].ToString();
                        КодСЦ.Text = reader["КодСЦ"].ToString();
                        using (SqlConnection cn1 = new SqlConnection(ConfigurationManager.ConnectionStrings["TNConnectionString"].ConnectionString))
                        {
                            string query1 = @"select max(КодЗаказа)+1 as КодЗаказаПоСЦ from тн.Заказ where КодСЦ='" + КодСЦ.Text + "'";
                            SqlCommand cmd1 = new SqlCommand(query1, cn1);
                            cn1.Open();
                            SqlDataReader reader1 = cmd1.ExecuteReader();
                            //Чтение из базы данных Модификация, ГодВыпуска и автозаполнение их в поле Модификация.Text и ГодВыпуска.Text

                            while (reader1.Read())
                            {
                                max.Text = reader1["КодЗаказаПоСЦ"].ToString();
                            }
                            reader1.Close();
                            cn1.Close();
                        }
                    }
                    stroka = stroka + 1;
                }


это можно сделать проще
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
                if (reader.Read())
                {
                        ZAKAZ.Text = reader["КодЗаказа"].ToString();
                        КодСЦ.Text = reader["КодСЦ"].ToString();
                        using (SqlConnection cn1 = new SqlConnection(ConfigurationManager.ConnectionStrings["TNConnectionString"].ConnectionString))
                        {
                            string query1 = @"select max(КодЗаказа)+1 as КодЗаказаПоСЦ from тн.Заказ where КодСЦ='" + КодСЦ.Text + "'";
                            SqlCommand cmd1 = new SqlCommand(query1, cn1);
                            cn1.Open();
                            SqlDataReader reader1 = cmd1.ExecuteReader();
                            //Чтение из базы данных Модификация, ГодВыпуска и автозаполнение их в поле Модификация.Text и ГодВыпуска.Text

                            if (reader1.Read()) max.Text = reader1["КодЗаказаПоСЦ"].ToString();

                            reader1.Close();
                            cn1.Close();
                        }
                }
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38616572
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch,
может вас вышвыривает из жизненного цикла страницы по каким то причинам, это все лечится под отладчиком за пару минут
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38617147
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степи,
в том то и дело что я не успела ещё научиться пользоваться отладчиком, подскажите по этому поводу.куда копать.
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38617196
Кавказ-сила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Событие срабатывает только со второго нажатия на кнопку
    #38618226
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо всем, я разобралась в Чём была причина
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Событие срабатывает только со второго нажатия на кнопку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]