Всем привет,
В этот раз мы разберём немного другой пример, он более реалистичен чем предыдущий, не редко получается такая ситуация, когда есть сайт — на этом сайте все регистрируются покупают продукцию и уходят, а через некоторое время компании приходит в голову начать делать рассылку на указанные пользователями адреса, чтобы пользователи возвращались. Однако, в ходе первичного анализа выясняется, что в адресах много ошибок, соответственно, лучше всего адреса прогнать через какой нибудь сервис и получить на выходе хорошие, красивые email. Этим мы сейчас и будем заниматься.
ЧАСТЬ 1: Форма + Entity Framework
1) Создаем проект WinForm называем его «DadateJsonMsSQLServer».
2) Кидаем на форму listBox и checkedListBox, первому даем название listBoxRows, второму checkedListBoxRowsDadata — растягиваем их так, чтобы они пополам разделяли форму, оставляем снизу места для кнопок.
3) Добавляем 3 кнопки, свойства:
—(Первая кнопка)name=buttonGetEmailDB, text=»Получить email из БД»
—(Вторая кнопка)name=buttonSubmitDadata, text=»Отправить данные в Dadata»
—(Третья кнопка)name=buttonUpdateRows, text=»Изменить строки в БД»
По итогу все должно выглядеть так:
4) Теперь к проекту нужно добавить Entity Framework, переходим в NUGET
Подтверждаем установку.
5) Теперь необходимо создать таблицу Client в MSSQLServer — три колонки Id,ClientName,Email код создания таблицы и наполнение:
*Я сознательно ни описал процесс подключения SQL Server в обозреватель объектов SQL Server+создания БД, т.к. предполагаю что вы уже с ним знакомы, тем ни менее, если пункт с созданием БД нужно включить в данную статью напишите об этом в комментариях*
create table Client (Id int primary key,ClientName nvarchar(128),Email nvarchar(128)) insert into Client values (1,'Davis Sara','spark823@mailru'), (2,'Funk Don','menka52@mail.r'), (3,'Lew Judy','rabota683@gmail,com'), (4,'Peled Yael','dondok1992mail.ru'), (5,'Buck Sven','rspsuper@bk.ru'), (6,'Suurs Paul','www.tanya9999@mail.ru'), (7,'King Russell','margo_16@listюru'), (8,'Cameron Maria','andreimakarychev@mail.ru'), (9,'Dolgopyatova Zoya','alia12111987@mфil.ru')
6) Теперь необходимо создать модель, которая свяжет объекты C# и объекты БД, называем ее «ModelDb»
Тут необходимо выбрать SQL Server установленный на вашем ПК и выбрать БД, в которой создана таблица Client.
8) После этих манипуляций в проекте должно появиться 2 файла:
9) Так теперь необходимо проверить что нам удалось связаться класс с таблицей, для этого переходит на форму и дважды нажимаем левой кнопкой мыши на кнопку «Получить email из БД».
10) Теперь внутри метода пишем следующее:
Modeldb modelDb = new ModelDb(); //Создаем экземпляр контекса, чтобы получить данные из БД. try //обработка исключений, если упадет узнаем почему. { var emailList = modelDb.Client.Select(c=>c.Email); //Получить только Email foreach (var item in emailList) { listBoxRows.Items.Add(item); } } catch (Exception ex) { MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error); // На всякий случай если упадет. }
11) Запускаем проект, нажимаем на кнопку «Получить email из БД». Получаем список
Конец первой части)