Работа в Visual Studio
Прогромма переставала работать при подключений к базе данных либо зависать при попытке редактировать ее также выдавала ошибки при работе с базой клиентов тоесть таблицей где были их имена,цены и даты выдачи товара поэтому пришлось добавить {try и catch} чтобы перестать сталкиваться с серьезными ошибками вроде вылета программы , исключение которое генерировалось оператором try также перехватывалось его парой , оператором catch который затем обрабатывал это исключение и если тип исключения совпадает с тем что указан в операторе catch то программа начинала работать.
Авторизация
Рисунок 2. Форма авторизации пользователей
В данной форме идет подключение к серверу, базе данных и таблице, пользователь должен заполнить:
textBox1 – IP адрес сервера
textBox2 – имя пользователя
textBox3 – пароль пользователя
textBox4 – название базы данных
textBox5 – название таблицы
Для удобства был создан comboBox, который автоматически заполняет данные textBox 1-5, подключение как администратор, работник или клиет. При нажатии кнопки “Подключиться” задаётся значение переменной connectionString, отвечающей за присоединение к таблице и базе данных во всей программе, также открывается либо форма “Для Клиентов”(вход выполнен через пользователя user), либо “Просмотр записей”(вход выполнен через пользователя worker/root).
Для Клиентов
Рисунок 3. Форма для клиентов.
В этой форме можно узнать о состоянии товара, для этого ввести номер заказа, имя и фамилию, нажать на кнопку “Найти”.
С помощью команды "SELECT * FROM … WHERE id=…" можно найти любой параметр записи с указанным id (Номер заказа). Так например, находим имя(Name) и фамилию(SecondName) клиента с указанным id и сравниваем с именем и фамилией, указанными пользователем, и если они совпадают, находим дату приёма заказа(Begin), его стоимость(Cost), дату выдачи(End) и что самое главное – состояние(Status). Таким образом, клиент может узнать о состоянии своего заказа.
Просмотр записей
Рисунок 4. Форма для просмотра записей
В этой форме администратор/работник могут увидеть все заказы в dataGridView, а после выбора строки и нажатия кнопки “Проблема” в richTextBox будет выведено соответствующее описание проблемы. Помимо этого есть кнопки отвечающие за обновление dataGridView, добавление новой записи, редактирование уже существующей или удаление записи.
Заполним таблицу:
reader = command.ExecuteReader();
while (reader.Read())
{
dataGridView1.Rows.Add(reader["id"].ToString(), reader["Name"].ToString(), reader["SecondName"].ToString(), reader["Begin"].ToString(), reader["Cost"].ToString(), reader["Status"].ToString(), reader["End"].ToString());
}
reader.Close();
Выбрав строку и нажав кнопку “Удалить запись” с помощью команды "DELETE * FROM … WHERE id=…" из базы будет удалена запись клиента, запись которого выбрана.Кнопки “Добавить новую запись” и “Редактировать запись” открывает новые формы, о которых будет рассказано позже.
