Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Событие срабатывает только со второго нажатия на кнопку / 10 сообщений из 10, страница 1 из 1
16.04.2014, 12:16
    #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
16.04.2014, 12:19
    #38616320
Кавказ-сила
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
...
Рейтинг: 0 / 0
16.04.2014, 12:25
    #38616329
da haroch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
Кавказ-сила
да да оч информативно.
...
Рейтинг: 0 / 0
16.04.2014, 13:47
    #38616449
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
Код: c#
1.
while (reader.Read())


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


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


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



лишние чтения вам тут совсем не нужны
...
Рейтинг: 0 / 0
16.04.2014, 13:49
    #38616453
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
впрочем лишних чтений и так не будет, в каждом рекордсете по одной записи... просто код какой-то некошерный...
...
Рейтинг: 0 / 0
16.04.2014, 13:53
    #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
16.04.2014, 14:59
    #38616572
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
da haroch,
может вас вышвыривает из жизненного цикла страницы по каким то причинам, это все лечится под отладчиком за пару минут
...
Рейтинг: 0 / 0
17.04.2014, 08:09
    #38617147
da haroch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
Где-то в степи,
в том то и дело что я не успела ещё научиться пользоваться отладчиком, подскажите по этому поводу.куда копать.
...
Рейтинг: 0 / 0
17.04.2014, 09:51
    #38617196
Кавказ-сила
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
...
Рейтинг: 0 / 0
18.04.2014, 06:13
    #38618226
da haroch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие срабатывает только со второго нажатия на кнопку
спасибо всем, я разобралась в Чём была причина
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Событие срабатывает только со второго нажатия на кнопку / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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