Загрузил olegovna-2004

Подготовка демо Максим

реклама
Для начала работы обязательно нужно будет изучить материал, который дадут на
экзамене и на фоне этого создать БД в соответствии с указанными данными.
Первый пункт – это работа с SQL.
Для того чтобы зайти в него нужно указать имя сервера, скорее всего оно будет
у каждого индивидуальное, его нужно будет вписать сюда:
1) Для начала нужно создать таблицы для примера возьмем тему работы «Обувной
магазин». Для этого мы заходим в SQL и создаем базу данных:
2) Правой кнопкой мыши нажимаем на данное окошко и выбираем создать базу данных:
3) Затем вписываем название нашей базы данных (ОНО НЕ ДОЛЖНО СОДЕРЖАТЬ В
СЕБЕ ПРОБЕЛОВ, ДАЖЕ НСЛИ СОСТОИТ ИЗ НЕСКОЛЬКИХ СЛОВ).
4) После того, как БД создана нажимаем на нее правой кнопкой мыши и создаем наш
первый запрос
Для создания БД мы используем такой код:
СКРИПТ ДЛЯ СОЗДАНИЯ ТАБЛИЦ:
CREATE TABLE Klient (
Id_klienta INT NOT NULL PRIMARY KEY,
surname NVARCHAR(50) NOT NULL,
firstname NVARCHAR(50) NOT NULL,
middlename NVARCHAR(50) NULL,
telefon NVARCHAR(50) NULL,
);
CREATE TABLE Sotrudnik (
Id_sotrudnika INT NOT NULL PRIMARY KEY,
surname NVARCHAR(50) NOT NULL,
firstname NVARCHAR(50) NOT NULL,
middlename NVARCHAR(50) NULL,
dolzhnost NVARCHAR(50) NULL,
telefon NVARCHAR(50) NULL,
pasport NVARCHAR(50) NULL
);
CREATE TABLE Shoes (
Id_shoes INT NOT NULL PRIMARY KEY,
nazvanie NVARCHAR(50) NOT NULL,
prise FLOAT NOT NULL,
material NVARCHAR(50) NOT NULL,
Id_klienta INT NOT NULL,
Id_sotrudnika INT NOT NULL,
Quantity INT NOT NULL,
Photo VARBINARY(MAX)
);
РАЗБОР КОДА:
CREATE TABLE Klient (
Id_klienta INT NOT NULL PRIMARY KEY,
surname NVARCHAR(50) NOT NULL,
firstname NVARCHAR(50) NOT NULL,
middlename NVARCHAR(50) NULL,
telefon NVARCHAR(50) NULL,
);
CREATE TABLE – это ключевые слова для создания таблицы.
Klient – это название нашей таблицы оно может быт любым.
Далее идет название колонок таблицы (Id_klienta, surname, firstname, middlename, telefon).
Затем для каждой колонки прописывается тип данных, которые будут там содержаться:
Id_klienta INT NOT NULL PRIMARY KEY
Опишу непосредственно одну из строчек:
INT – это числовой тип данных (значит именно в этой колонке будут содержаться цифры).
NOT NULL – это обозначение того, что поле не может быть пустым оно должно быть
обязательно заполненным.
PRIMARY KEY – это пишется только для главного ключа таблицы к первой строчке, где
ID, больше нигде.
ТИПОВ ДАННЫХ ОЧЕНЬ МНОГО, НО МЫ БУДЕМИСПОЛЬЗОВАТЬ ОСНОВНЫЕ:
1) NVARCHAR (50) – это текстовый тип данных, который используется непосредственно
с текстом к примеру (Фамилия, Имя, Отчество). В скобках рядом с типом данных
прописывается количество символов, которые пользователь может внести в строку.
2) INT – это числовой тип данных (значит именно в этой колонке будут содержаться
цифры). ПРИМЕР: (Количество)
каждый ID имеет только этот тип данных!!!!!!!
3) FLOAT — это тип данных, используемый в программировании для хранения чисел с
плавающей запятой (то есть не целые числа пример: 12,5). ПРИМЕР: Сумма, скидка.
4) DATE – это тип данных, который используется для ДАТЫ. ПРИМЕР: datta DATE NOT
NULL
5) VARBINARY(MAX) – используется такой тип данных для фото.
После успешно выполненной команды, мы переходим к заполнению таблицы, лучше
всего и проще для тебя внести эти данные вручную.
После того, как мы создали и заполнили все наши таблицы, мы переходим к созданию
связей между ними.
Правой кнопкой мыши нажимаем и выбираем:
Выделяем все нужные нам таблицы:
И нажимаем добавить.
Соединение таблиц между собой происходит, если есть «ВТОРОСТЕПЕННЫЙ
КЛЮЧ», а если просто совпадают 2 поля:
Связь осуществляется от второстепенной таблицы к главной
ОТ СОТРУДНИКА К ОБУВИ
ОТ КЛИЕНТА К ОБУВИ
Подтверждаем, если таблицы первичного и внешнего ключа указаны верно и поля
тоже должны быть одинаковые
Затем, когда все создано мы переходим к работе с C#
После того, как мы зашли нажимаем
В поиске вводим
Далее даем название нашему проекту:
Далее открывается непосредственно место, где мы будем работать над нашим
проектом:
Затем изменим название формы с Form1 на Клиент:
В свойствах меняем Form1 на Клиент
Добавляем на форму:
Далее нажимаем на стрелку в правом верхнем углу DataGridView
Далее выбираем источник данных:
После нажатия на стрелочку в правом верхнем углу, нажимаем на... «Выберите источник
данных», а далее «Добавить источник данных проекта».
Далее покажу алгоритм добавления источника данных:
1) База данных – Далее – Набор данных – Далее – Создать подключение – Имя сервера (тут
указываем строчку из Sql (Заходим заново в SQL в самое начало и копируем оттуда строчку
подключения «Имя сервера» и вставляем ее в ИМЯ СЕРВЕРА)) – Выбираем нужную нам
БД – ОК – Далее – Далее – Ставим галочки около всех пунктов и нажимаем ГОТОВО.
И из списка выбираем нужную нам базу данных.
Сверяем данные
Далее непосредственно подключение таблицы к DataGriedView
Также нажимаем на стрелку в верхней части DataGriedView – Выберите источник данных
– стрелочка – Другие источники данных – еще стрелочка – выбираем нужную нам таблицу
Теперь в нашем DataGriedView отображается таблица.
При желании можно убрать не нужные нам поля:
Правка столбцов – далее выбираем не нужный нам столбец, который хотим скрыть и в
Visible – False
Теперь его не видно
Теперь добавим
Он нужен для того, чтобы добавлять, удалять данные без кода и особых усилий, но главное
корректно его подключить для этого нажимаем на него и переходим в свойства
BindingSource и выбираем нашу таблицу
Теперь он подключен и работает корректно.
Теперь добавим Label и TextBox – это нужно для того, чтобы полностью отображать поля
таблицы см. скрины:
Вот мы их добавили, только добавляем ровно столько их сколько столбцов в таблице, даже
те, которые мы скрыли. У нас их всего 5.
Теперь у каждого Label меняем название на человеческое (называем их по-русски в
соответствии с названиями столбцов таблицы)
Так же меняем в свойствах вкладка Текст:
Теперь каждый TextBox нужно подключить к бд:
Нажимаем на нужное нам поле
Далее опять переходим в свойства и выбираем:
И выбираем нужное нам поле и так с каждым TextBox.
Теперь данные отображаются таким образом:
Теперь переходим к основной работе программы:
Будем осуществлять добавление кодом. Для этого нужно на форму добавить Кноку и дать
ей соответствующее имя:
имя дается в том же месте свойства – текст и даем ей имя
ГОТОВО!
Далее для того, чтобы осуществить добавление создаем новую форму:
Нажимаем «Проект» - Добавить форму – даем ей название и нажимаем добавить
Затем так же даем ей название по-русски имя дается в том же месте свойства – текст и даем
ей имя. Копируем с главной формы
И вставляем в новую, которую создали, а также добавляем туда 2 кнопки и даем им
название, а также в свойствах указываем какие действия они будут выполнять
Нажимаем на кнопку ДОБАВИТЬ и переходим в свойства
И выбираем ей
А кнопке ОТМЕНА
Вот такая форма должна получится
Теперь каждому
В свойствах в Modifers ставим Public
После того, как мы все это сделали, переходим в нашу основную форму и два раза
нажимаем на кнопку ДОБАВЛЕНИЕ, затем нас перекидывает в код
Для того, чтобы программа работала в каждой основной форме, мы должны прописывать
одну строчку ЭТО ОБЯЗАТЕЛЬНО!!!!!!!!
Теперь в button1 прописываем код добавления:
DobKL f1 = new DobKL();
if (DialogResult.OK == f1.ShowDialog())
{
conn = new SqlConnection();
conn.ConnectionString = Properties.Settings.Default.DemkaMaksimConnectionString;
conn.Open();
SqlCommand myComm = conn.CreateCommand();
myComm.CommandText = "INSERT INTO Klient (Id_klienta, surname, firstname, middlename, telefon)" +
"VALUES (@Id_klienta, @surname, @firstname, @middlename, @telefon)";
myComm.Parameters.Add("@Id_klienta", SqlDbType.Int).Value = Convert.ToInt32(f1.textBox1.Text);
myComm.Parameters.Add("@surname", SqlDbType.NVarChar, 50).Value = (f1.textBox2.Text);
myComm.Parameters.Add("@firstname", SqlDbType.NVarChar, 50).Value = (f1.textBox3.Text);
myComm.Parameters.Add("@middlename", SqlDbType.NVarChar, 50).Value = (f1.textBox4.Text);
myComm.Parameters.Add("@telefon", SqlDbType.NVarChar, 50).Value = (f1.textBox5.Text);
myComm.ExecuteNonQuery();
conn.Close();
this.klientTableAdapter.Fill(this.demkaMaksimDataSet.Klient);
}
Название доп формы, где осуществляется добавление
Поля добавления нужных нам данных
Это текст боксы которые мы создали, указываешь именно тот ,который подходит под
название полей.
ЭТО УЧИТЬ!!!!
УДАЛЕНИЕ:
DialogResult result = MessageBox.Show("Вы уверены, что хоите удалить?", "Удаление", MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
int n = dataGridView1.CurrentCell.RowIndex;
dataGridView1.Rows.RemoveAt(n);
klientTableAdapter.Update(demkaMaksimDataSet);
}
ЭТО УЧИТЬ!!!! Везде в каждой форме пишется одно и тоже меняется только на название
другой таблицы в соответствии с формой.
ПОИСК:
Для поиска добавляем отдельный текстбокс
string n = textBox6.Text;
conn = new SqlConnection();
conn.ConnectionString = Properties.Settings.Default.DemkaMaksimConnectionString;
conn.Open();
SqlCommand myComm = conn.CreateCommand();
myComm.CommandText = $"SELECT * FROM Klient WHERE Id_klienta = {n}";
SqlDataReader myData = myComm.ExecuteReader();
BindingSource source = new BindingSource();
source.DataSource = myData;
dataGridView1.DataSource = source;
myData.Close();
conn.Close();
Это текст бокс в который будешь вносить данные для поиска
Запрос на выборку данных определенных название таблицы откуда берем данные, а это какие именно
УЧИТЬ!!!!!!!!!!
СБРОС ПОИСКА
Тоже создаешь отдельную кнопку и там пишешь это:
dataGridView1.DataSource = klientBindingSource;
Название таблицы
СОРТИРОВКА:
Для этого, как и всегда создаем отдельную кнопку и прописываем в ней код:
klientBindingSource.Sort = "id_klienta DESC";
Пишется, он в одну строчку
Таблица
Что именно сортировать и как
МЫ будем брать два основных ASC и DESC (По возрастанию и убыванию)
СОХРАНЕНИЕ ДАННЫХ
this.Validate();
klientBindingSource.EndEdit();
klientTableAdapter.Update(demkaMaksimDataSet);
УЧИТЬ!!!!
Скачать