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

Формула программиста
основатель — Волосатов Евгений Витольдович

БД - Управление гостиницей / Класс MySQL. Получение таблицы.

  • На этом уроке мы создадим ещё несколько полезных методов
    в классе MySQL для считывания, изменения и добавления записей.
  • Дата отправки отчёта: 21 января
  • Задание выполнено: за 40 мин.
  • Чему научился: узнал о функциях получающих таблицу
  • Что было сложным: в MS SQL у класса SqlCommand нет функции LastInsertedID(). Печаль - беда.примерно почитал как люди берут ID последней вставки , подделаю когда пойму для чего нам нужен будет этот самый ID.
  • Комментарии: Не понял для чего нужна функции addslashes. Что она экранировать будет?
  • Оценка видео-уроку:
Отчёт от 8005 за БД - Управление гостиницей / Класс MySQL. Получение таблицы.




Оцени работу

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

791. Валерий
Валерий
ответить
→  Александр  # БД - Управление гостиницей / Класс MySQL. Получение таблицы. / 2016-01-22 21:23

По поводу функций addslashes. Что она экранирует. При работе с формами, где пользователь может ввести через textbox всё что угодно, возможен ввод некорректных символов, которые могут повлиять на работу программы. К таким символам в частности относятся кавычки, которые при попадании в текст SQL запроса могут сделать его некорректным,
К примеру есть запрос обработки строки UPDATE table SET field1='"+text1.text+"', field2='"+text2.text+"';
и если в поле text1 укажем например Кафе 'Золотое руно', то запрос будет выглядеть так
UPDATE table SET field1='Кафе 'Золотое руно'', field2='"+text2.text+"'; и для  поля field1 как видим уже соответствует несколько переменных, ограниченных одинарными кавычками, и корректно запрос не обработается.
Какой выход? Экранировать кавычки, превращая их из спецсимволов в обычные строчные символы,добавляя к ним слеши при помощи функции addslashes. после обработки этой функцией запрос примет вид
UPDATE table SET field1='Кафе &quote Золотое руно &quote ', field2='"+text2.text+"'; и будет нормально обработан движком dotnet и MySQL.


24. Оля
Оля
ответить
→  Александр  # БД - Управление гостиницей / Класс MySQL. Получение таблицы. / 2016-01-22 20:22

Александр, рада что ты получил еще больше интересного опыта!
Уверена что у тебя все получится и ты найдешь ответы! :)


4699. Сергей Витальевич
Сергей Витальевич
ответить
→  Александр  # БД - Управление гостиницей / Класс MySQL. Получение таблицы. / 2016-01-22 08:20

addslashes думаю с php взяли) http://php.net/manual/ru/function.addslashes.php - защита от SQL инъекций
Вот что она будет экранировать без понятия) Я вот только при входе использовал защиту от SQL инъекций, но у меня были поля ввода и там легко можно было дописать так чтоб подключится к другой БД.
     
Вот и использовал безопасное подключение.
SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder
            {
                DataSource = "KOT",
                InitialCatalog = "AdventureWorks2014",
                UserID = tbName.Text,
                Password = tbPass.Text,
                Pooling = true
            };

Ведь и сама БД в основном для web. Не понимаю зачем ее здесь используют. Если надо что-то легковесное то можно было SQLite использовать. Рад что кто-то использует SQL Server.  Развеселил Иван, но ничего думаю он еще исправится.


8977. Иван
Иван
ответить
→  Александр  # БД - Управление гостиницей / Класс MySQL. Получение таблицы. / 2016-01-21 22:49

Не знал что есть класс MSSQL. Вообще первый раз такое вижу, самоделка?


  • Отчёт оценивали:
    8977Иван0   459Сергей Сергеевич+1   6925Артём+1   8886Михаил Ермишин+1   1Евгений Витольдович+1   5760Мариша +1   4395Денис+1   4699Сергей Витальевич+1   7645Александр Львович+1   8194Сергей+1   2773Никита+1   8946inward0   8380zhikharevav0   8275Tekashnik+1   4992Николай+1   2639Морозов Юрий Александрович+1   791Валерий+1   6838Роман (Robbit)0   24Оля+1   7226Наталья+1   5868Vera+1   5263Павел+1   6987MichGar+1   Посетитель+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Научился извлекать данные из MySQL
Трудности: Прoтeстировать рaбoту
круто
Научился: Проработал функции SELECT, INSERT, UPDATE
Трудности: Сложностей не было
Еще раз проработал эти функции и эти SQL запросы, стал складываться паззл в голове, сейчас сначала реализовал функции, потом уже смотрел видео (и поправлял).