Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Базовый ASP.ект / Отказ от статика

  • Нам придётся отказаться от статичного класса базы данных,
    потому что статичный класс продолжает существование
    даже при новых обращениях к нему с новой страницы.
  • Дата отправки отчёта: 9 мая 2018 г.
  • Задание выполнено: за 3 час. 8 мин.
  • Чему научился: Все сделал, как в уроке, и предыдущая ошибка действительно пропала, но при добавлении новой статьи в форме опять появляется, хотя все остальные разделы работают без проблем...
  • Что было сложным: Понять почему не добавляются статьи на сервер, хотя на локалхосте все прекрасно отрабатывает
  • Оценка видео-уроку:
Отчёт от 17606 за Базовый ASP.ект / Отказ от статика


Отчёт от 17606 за Базовый ASP.ект / Отказ от статика




Оцени работу

 
Сохранить страницу:

791. --
Валерий Жданов
Валерий Жданов
ответить
→  Виктор  # Базовый ASP.ект / Отказ от статика / 2018-05-09 18:24

посмотри, корректно ли отрабатывает появление новой формы


17443. --
WildOrc
WildOrc
ответить
→  Виктор  # Базовый ASP.ект / Отказ от статика / 2018-05-09 19:45

Я бы пересмотрел и предыдущий - в режиме удвоенной скорости. Многие ошибки у меня возникали на ранней стадии. Поэтому, если текущий урок реально буква в букву (ну с учетом индивидуальных реалий), то может она приползла из более ранней версии. Не работает только добавление на внешнем хостинге, остальное работает?


17606. --
Виктор
Виктор
ответить
→  WildOrc  # Базовый ASP.ект / Отказ от статика / 2018-05-10 00:23

Абсолютно точно, на локалхосте все работает


10558. --
Иван Воронин
Иван Воронин
ответить
→  Виктор  # Базовый ASP.ект / Отказ от статика / 2018-05-10 03:12

Скопируй БД с хоста на локалку и воспроизведи теже действия, возможно что-то в самой БД закралось, что вызывает проблему, такое тоже не исключено.


17606. --
Виктор
Виктор
ответить
→  Иван Воронин  # Базовый ASP.ект / Отказ от статика / 2018-05-10 09:35

Спасибо, попробую


  • Отчёт оценивали:
    791Валерий Жданов+1   1Евгений Волосатов+1   16533Андрей Шевченко+1   17947Dmitry Sinitsin+1   17443WildOrc+1   3747Сергей+1   16066Bodrik_torf+1   9156Dimon+1   5394Anton+1   9980Timoha+1   4395Денис+1   11589Yefim+1   5502Антон Кравченко0   18272Ramzan+1   3922Александр+1   16218Дмитрий+1   459Сергей Сергеевич+1   6452Кирилл Шмойлов+1   10895Danil42Russia+1   17255Слава+1   10494Алексей В.+1   18249Александр+1   Посетитель+1   8275Tekashnik+1   Посетитель+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Бороться с ошибками.
Я эту ошибку нашел уже давно в уроке 11.-Работа над ошибками. Я теснил и заметил что после того как было разорвано соединение с сервером он обратно не восстанавливал связь. Было принято решение переписать класс MySql. Идея статического класса очень крутая так как мы инициилизируем переменную MySqlConnection connection один рез и не лазим каждый раз в конфиг (экономим время). Подключение я осуществляю в блоке using (connection) (пример метод select) в котором я подключаюсь (если подключение созданное и лежит в пуле то я беру его от туда) и при выходе с блока using подключение закрывается ( ложится в пул). Тем самым я экономлю время на подключение к базе данных. остался один вопрос как такой метод поведет себя при больших нагрузках?? Метод AddSlashes нужно доработать. http://php.net/manual/ru/function.addslashes.php public static class SomeSql { private static MySqlConnection connection; static SomeSql() { InitializationConnectionToDataBase(); } private static void InitializationConnectionToDataBase() { MySqlConnectionStringBuilder csb = new MySqlConnectionStringBuilder( WebConfigurationManager.ConnectionStrings["connection"].ConnectionString); csb.Pooling = true; connection = new MySqlConnection(csb.ConnectionString); } public static DataTable Select(string myQuery) { using (connection) { try { connection.Open(); DataTable table = new DataTable(); MySqlCommand cmd = new MySqlCommand(myQuery, connection); MySqlDataReader reader = cmd.ExecuteReader(); table.Load(reader); return table; } catch (MySqlException exInner) { var ex = new SomeSqlException(exInner.Message,exInner) { Query = myQuery }; throw ex; } } } static public string AddSlashes(string text) { try { return text.Replace("'", "\\'").Replace("\"", "\\\"").Replace("\\", "\\\\"); } catch (NullReferenceException) { return ""; } } } }


Научился: Не знаю, может у меня ошибка, но если делать именно по уроку и просто сделать класс работы с SQL экземплярным, то появляются ошибки с добавлением новых записей, так как требуется конструктор без параметров. Попробовал держать пустой конструктор, но тогда не создаётся экземпляр класса работы с SQL и выскакивает ошибка. Пришлось из пустого конструктора добавить вызов конструктора с параметром с передачей ему нового класса для SQL.