Создать базу данных и настроить подключение проекта к MySQL.
Дата отправки отчёта:
25 августа 2019 г.
Задание выполнено: за
3 дня 3 час. 46 мин.
Чему научился:
К сожалению, польза от урока мала. Лучше бы не MySQL, а MS SQL рассмотрели. Все, что есть в уроке, можно сделать, только если настроить и установить MySQL. Ни слова о том что, где. Как будто у всех уже Mysql есть по умолчанию. . Даже удивительно, как можно было наплевать на такие простые вещи. .Да, мои вопросы по видеокурсу невидимка остались без внимания. Плохо, что всем плевать..
Часть курсов, видимо надо проходить по порядку возрастания сложности - есть коэффициенты у курсов цифровые в шапках. Здесь это не регулируется и курсы доступны какой пожелаешь, в отличие от уроков, которые не перепрыгнешь. Оттого и недопонимания возникают. Сам заканчиваю ООФрукты на Java и скоро прилетит урок про Новый год, а на дворе август )
Не понимаю в чем ценность MS SQL Server. Сам на нем отработал несколько лет. Такой же сервачок. Даже Transact SQL особо ничем не отличается. Вот сейчас работаю на Oracle и понимаю, что сервера баз данных - примерно похожи между собой. Просто вот скажем в MS SQL Server, чтобы вычислить простое выражение 1+3 , то нужно просто выполнить select (1+3), а в Oracle уже нужно задействовать таблицу dual - select (1+3) from dual;
Научился: Устанавливать дополнение .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());
И вот как я должен был догадаться?
Научился: хороший урок, научился создавать структуру БД в MySQL, через консоль Трудности: надеюсь, идея по созданию раздела консольных задач по БД, будет реализована.