Создать базу данных и настроить подключение проекта к MySQL.
Дата отправки отчёта:
15 октября 2019 г.
Задание выполнено: за
8 час. 4 мин.
Чему научился:
sql
Что было сложным:
Самое сложное что на предыдущем уроке использовались другие примеры (программа), а в этом другая с комментариями и написанным кодом. В которой все работает. В версии что мы писали на прошлом уроке половина нет.
Научился: Устанавливать дополнение .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, через консоль Трудности: надеюсь, идея по созданию раздела консольных задач по БД, будет реализована.