Обучение программированию c#

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

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

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Проектирование БД «Книжка оценок» 01:01:53
67 чел. ★ 4.8 Done
  Запись первого вебинара по базам данных.
Проектирование и создание базы данных "Книжка оценок".

Отчёт отправил: 10588. kalobyte Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Искать настройки sql запроса в меню акцесса. 
Сложности: Найти настройки в акцессе, чтобы появилось окно ручного запроса. 
Комментарии: Я давно учил бд и даже сам пришел к вопросу нормализации бд, о чем и узнал при чтении. В пту тоже делали акцесс и другие базы, но все быстро и без привязки к приложениям. Я так за все время и не написал ничего. У меня лютый страх сделать неправильные связи и со временем запороть базу. Кроме того  я так и не понял, зачем делать join, если создается связь через условия where. Толком нигде не рассказывается, почему в этой ситуации надо связь 1 к н, в другой н к 1, а где н к м. Что там про связанное удаление? Я так опять и не понял, но интуитивно ощущал, что должны быть эти связи по ключам на уровне самой базы. Т.е. база не должна дать мне ввести просто данные в одно поле, если оно связано с другим. Этот вопрос опять нигде не описывается. То ли надо самому за этим следить, то ли нет. Если самому, то зачем тогда все эти связи? Есть бд без связей, только тупо для хранения типа mongodb. Я прослушал курс по mysql от специалиста, курс годный, но почему-то я так ничего и не стал делать. А в этом уроке я даже установил акцесс, нашел кнопку и руками вводил запросы. Опять магия какая-то. 
2 Создание интерфейса программы 01:41:55
46 чел. ★ 4.8 Done
  Создаём интерфейс программы "Книжка оценок" и подключаем его к базе данных.
Файл для скачивания и установки: http://www.microsoft.com/en-us/download/details.aspx?id=5793
Отчёт отправил: 10588. kalobyte Выполнено за 5 час. 00 мин. [Показать отчёт]
Научился: Работа с datagrid.  
Сложности: Ошибки находить. Так и не понял, где у меня тут ошибка id = int.Parse(sql.Scalar("SELECT MAX(id) FROM subject")) + 1; 
Комментарии: Запутался среди этих кнопок. Интерфейс получился нелогичный. Как-то все криво сделано. Должно быть поле для добавки и кнопка для добавки. Не долно быть поля для изменения, изменение должно делаться при двойном клике на строчку в таблице. Короче я так и не понял, почему у меня исключение выходит. В переменной id все равно 0, а запрос непонятно что возвращает. Кроме того вставка не должна прибавлять 1, это тип поле id должен быть автоинкремент и будет сам увеличиваться. Не думал, что так все сложно будет. Чуть не сдох в первый день, а сейчас я доделываю спустя пару дней. Сделал пометки тогда и решил после отдыхать поискать, может на свежую башку чего полезного. А так и не понял это исключение. 
3 Авторизация школьников и учителя 01:17:22
41 чел. ★ 4.8 Done
  1. Составить таблицу с паролем учителя.
CREATE TABLE teacher
(id int primary key,
teacher varchar(99),
password varchar(99));

2. Добавить учителя.
INSERT INTO teacher VALUES (1, 'Magic', 'Teacher');

3. Сделать форму залогинивания.

3а. Считать список учеников и поместить его в комбо-бокс.
SELECT id, pupil FROM pupil ORDER BY pupil

3б. Заполнить массив arr_pupil_id чтобы знать номер выбранного ученика.

4. Проверить введённый логин и пароль.

5. Ограничить доступ к остальным вкладкам в зависимости от логина и пароля.
Отчёт отправил: 10588. kalobyte Выполнено за 4 час. 00 мин. [Показать отчёт]
Научился: Как сделать логин и переключаться в нужные разделы после авторизации. 
Сложности: Код с while (db_error()); в разных местах портит все. Нужно втыкать эти заглушки в правильные места, иначе будет только мешать. Сложным было понять механизм авторизации ученика. Я знаю, как это делать в вебе, а тут комбо бокс не содержит ид учеников и пришлось лепить массив с идентификаторами. 
Комментарии: В целом нормально. Паврда я этот урок 3 дня тянул. Мои представления о структуре проги не совпадали с роликом, а когда ты вроде бы понимаеш механизм, но видиш совсем не так, как представляеш, то очень сложно понять, что там думает другой человек. Если же для тебя это с нуля, то все воспринимается как должное. Но цель этого урока - взаимодействие с бд, а не проектирование приложения. Я думаю в управлении гостинницей это будет. Вроде ничего сложного нет, а столько сил я потратил. 
4 Сетка оценок ученика 00:55:55
38 чел. ★ 4.9 Done
  Создаём сетку с оценками учеников.

Отчёт отправил: 10588. kalobyte Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: Заполнять грид. 
Сложности: Собственно его заполнять. Все эти алгоритмы в циклах. 
Комментарии: Не зря я боялся начинать работу с гридом и бд самостоятельно. Тут час видео растянулся на 3 часа, а эти 3 часа растянулись на 2 или 3 дня. Пока все ошибки отловиш. Хотя я себе это несколько иначе представлял. Или вот я не представляю себе вид вкладки "оценки класса".  По всем предметам или там выбирать учитель может? Если по всем, то что с датами? 
5 Подключение проекта к MySQL 00:35:43
24 чел. ★ 4.4 Done
  Создать базу данных и настроить подключение проекта к MySQL.
Отчёт отправил: 10588. kalobyte Выполнено за 4 час. 00 мин. [Показать отчёт]
Научился: Устанавливать дополнение .net mysql Находить ошибки. 
Сложности: Разобраться с подключением. Подключение проходило, а я тупил, пока не поменял другой логин и не получил ошибку, что такого пользователя нет. А ошибка была в выполнении функции public MySqlDataReader Select(string query), где я забыл передать аргументы в  MySqlCommand cmd = new MySqlCommand(this.query, connection); Теперь не могу понять ошибку на скриншота. Какой где датаридер открыт? Ошибка в private void load_pupil_matrix() после ввода пароля ученика. Отрисовывается грид с уроками, а оценки не вставляет. Запрос сырой отрабатывает правильно и выдает 2 строки. Ошибка где-то тут при чтении. do read = sql.Select("SELECT subject_id, day, point FROM point WHERE pupil_id =" + my_pupil_id.ToString());             while (db_error());             while (read.Read()) 
Комментарии: Надо было всетаки сделать с самого нуля с сетевой бд, акцесс никто не использует. upd Внезапно стал смотреть работы по этому курсу у других и у Tekashnik нашел ответ. Оказывается надо после             MySqlDataReader read;             read = sql.Select("SELECT id, subject FROM subject ORDER BY subject");             while (db_error()) ;             int row = 0;             while (read.Read())             {                 grid_points_pupil.Rows.Add();                 grid_points_pupil["co_subject_ids", row].Value = read["id"].ToString();                 grid_points_pupil["co_points_subjects", row].Value = read["subject"].ToString();                 row++;             } добавить read.Close(); А я добавлял            do sql.Close();             while (db_error()); И вот как я должен был догадаться? 
6 ФИНАЛЬНЫЙ УРОК без видео
15 чел. ★ 4.9 Done
  Поздравляю с завершение видеокурса!

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

Какой курс ты будешь проходить следующим?
Отчёт отправил: 10588. kalobyte Выполнено за 10 мин. [Показать отчёт]
Научился: Подключаться к файловым и сетевым бд. Работать с датагридом. Раньше для меня он казался сложным и я не знал, как к нему подлезть. Ну и соединение и получение данных к мускулу как-то сложнее по сравнению с пхп. 
Сложности: Искать ошибки. Прога перевалила за 500 строк в обоих файлах. Потом еще создавал бд и почему-то по дефолту у меня кодировка латин1 была, а я думал ут8 и поля в таблицах создались не в той кодировке, а я даже не знал, что поля отдельно можно менять кодировку. Я ведь для всей базы и даже для таблиц поменял, а все равно вопросы вместо букв показывались. Целый час убил. 
Комментарии: В этом курсе надо было больше уделить сетевой базе и делать ее в специальной проге, так быстрее и проще. Запросы тоже лучше писать в этой проге. Почему-то все преподающие бд так и норовят использовать неудобные инструменты. Так же надо было наверное разобрать датагрид, он довольно сложный. Да и некрасивый он совсем. Я скачал платный Devexpress они вроде бы недавно сделали его бесплатным для открытых проектов или это может быть только веб версия хтмл, впф платная наверное. Изучал курс с бд для написания своей проги, чтобы иметь базу клиентов, шаблоны для генерации пдф и выписывать счета клиентам с автоматической отправкой пдф им на почту. Хотел на пхп написать, но как по мне, то лучше у себя хранить или потом сделать веб версию с rest api. Следущий курс будет или телефонная книга (вроде видел его) или база отеля (лежит в закладках). 
7 Проектирование базы данных в Microsoft Excel 00:33:53
6 чел. ★ 4.7 $
 
8 Проектирование базы данных в Microsoft Access 00:28:05
3 чел. ★ 4.7 $
 
9 Создание интерфейса первой вкладки 00:17:53
3 чел. ★ 4.7 $
 
10 Подключение БД Access к коду C# 00:29:32
3 чел. ★ 4.7 $
 
11 Обработчик ошибок 00:29:05
3 чел. ★ 5 $
 
12 Манипуляции с предметами 00:26:27
3 чел. ★ 4.7 $
 
13 Делаем таблицу для учителя 00:20:32
3 чел. ★ 4.7 $
 
14 Логин для школьника 00:34:01
2 чел. ★ 5 $
 
15 Логин для учителя 00:24:16
2 чел. ★ 5 $
 
16 Составление плана сетки оценок ученика 00:22:00
2 чел. ★ 5 $
 
17 Формирование сетки оценок ученика 00:19:59
2 чел. ★ 5 $
 
18 Загрузка оценок ученика в матрицу 00:14:52
2 чел. ★ 5 $
 
  Итого:   18 видеоуроков 10 час. 33 мин.
2 чел. ★ 4.83  
  Финалисты:   Chip,   Max .

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





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

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

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

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


Научился: Очень полезный и содержательный курс- дал наглядное понимание как скрещивать С# с базами данных, как создавать запросы и обрабатывать ответы. Конечно с помощью моих скриншотов трудно оценить всю пользу и выгоду после прохождения этого видео курса но поверьте если вы хотите использовать БД с С# то вам сюда.
--


Научился: Подключаться к файловым и сетевым бд. Работать с датагридом. Раньше для меня он казался сложным и я не знал, как к нему подлезть. Ну и соединение и получение данных к мускулу как-то сложнее по сравнению с пхп.
Трудности: Искать ошибки. Прога перевалила за 500 строк в обоих файлах. Потом еще создавал бд и почему-то по дефолту у меня кодировка латин1 была, а я думал ут8 и поля в таблицах создались не в той кодировке, а я даже не знал, что поля отдельно можно менять кодировку. Я ведь для всей базы и даже для таблиц поменял, а все равно вопросы вместо букв показывались. Целый час убил.
В этом курсе надо было больше уделить сетевой базе и делать ее в специальной проге, так быстрее и проще. Запросы тоже лучше писать в этой проге. Почему-то все преподающие бд так и норовят использовать неудобные инструменты. Так же надо было наверное разобрать датагрид, он довольно сложный. Да и некрасивый он совсем. Я скачал платный Devexpress они вроде бы недавно сделали его бесплатным для открытых проектов или это может быть только веб версия хтмл, впф платная наверное. Изучал курс с бд для написания своей проги, чтобы иметь базу клиентов, шаблоны для генерации пдф и выписывать счета клиентам с автоматической отправкой пдф им на почту. Хотел на пхп написать, но как по мне, то лучше у себя хранить или потом сделать веб версию с rest api. Следущий курс будет или телефонная книга (вроде видел его) или база отеля (лежит в закладках).