You are on page 1of 19

ЛР5.

Кодування (розробка)
Моя програма працює - це все що можна сказати про неї … В ній багато логічних
помилок які потрібно виправити, найгірше, що я знаю де ці помилки і як їх
виправити, але коли я зрозумів, що не так з моєю системою було занадто пізно і
відсотків 80 роботи вже було зроблено, перероблювати БД і прогу не дуже
хотілось да і світло не часто є, тому я просто доробив тих 20 відсотків роботи.
Зрозумійте правильно все працює, але за логікою повинно працювати по іншому
ніж у мене.
1. Для початку я створив БД в Microsoft SQL server Management studio і назвав
її ITbase

Як видно на скріншоті створені таблички ось код як вони створювались (код) :


use ITbase
go
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'Renter' AND type_desc = 'USER_TABLE')
drop table Renter

create table Renter


(id_renter int NOT NULL primary key,
name_renter nvarchar(50) NOT NULL,
second_name_renter nvarchar(50),
years_renter int,
number_of_rented_apartments_now int,
rented_general int,
rating_renter int)

IF EXISTS (SELECT name FROM sys.objects


WHERE name = 'Landlor' AND type_desc = 'USER_TABLE')
drop table Landlor

create table Landlor


(id_landlor int NOT NULL primary key,
name_landlor nvarchar(50) NOT NULL,
second_name_landlor nvarchar(50),
years_landlor int,
apartments_have_been_rented int,
raiting_landlor int)

IF EXISTS (SELECT name FROM sys.objects


WHERE name = 'Details_advertisement' AND type_desc = 'USER_TABLE')
drop table Details_advertisement

create table Details_advertisement


(id_details_adv int NOT NULL primary key,
address_of_bulding nvarchar(50),
description_advertisement nvarchar(255),
prise int)

IF EXISTS (SELECT name FROM sys.objects


WHERE name = 'Advertisement' AND type_desc = 'USER_TABLE')
drop table Advertisement

create table Advertisement


(id_advertisement int NOT NULL primary key,
id_details_adv int, constraint id_details_adv foreign key (id_details_adv) references
Details_advertisement (id_details_adv),
name_advertisement nvarchar(50),
city nvarchar(50),
status nvarchar(50))

IF EXISTS (SELECT name FROM sys.objects


WHERE name = 'Order_apartment' AND type_desc = 'USER_TABLE')
drop table Order_apartment

create table Order_apartment


(id_order int NOT NULL primary key,
id_renter int, constraint id_renter foreign key (id_renter) references Renter (id_renter),
id_landlor int, constraint id_landlor foreign key (id_landlor) references Landlor
(id_landlor),
id_advertisement int, constraint id_advertisement foreign key (id_advertisement) references
Advertisement (id_advertisement),
Documents_landlor nvarchar(50),
Documents_renter nvarchar(50))

2. Сформована схема БД
3. Занесення даних в таблички:
use ITbase

BEGIN TRANSACTION
INSERT into
Order_apartment(id_order,id_renter,id_landlor,id_advertisement,Documents_renter,Documents_land
lor)
VALUES
(1,2,4,2,N'Passport',N'Passport'),
(2,1,3,1,N'Identification code',N'Passport'),
(3,4,2,3,N'Passport',N'Identification code'),
(4,3,5,5,N'Identification code',N'Identification code'),
(5,5,1,4,N'Identification code',N'Identification code');
COMMIT

BEGIN TRANSACTION
INSERT into
Renter(id_renter,name_renter,second_name_renter,years_renter,number_of_rented_apartments_now,r
ented_general,rating_renter)
VALUES
(1,N'Anthony',N'Davies',24,1,2,4),
(2,N'Sandra',N'Wilson',27,1,8,3),
(3,N'Kevin',N'Clark',31,3,14,4),
(4,N'Laura',N'Lewis',23,2,6,3),
(5,N'Eric',N'Turner',36,1,7,4);
COMMIT

BEGIN TRANSACTION
INSERT into
Landlor(id_landlor,name_landlor,second_name_landlor,years_landlor,apartments_have_been_rented,
raiting_landlor)
VALUES
(1,N'Mike',N'Smith',38,8,4),
(2,N'Patricia',N'Brown',31,24,4),
(3,N'John',N'Wilson',48,7,3),
(4,N'Karen',N'Davies',29,10,3),
(5,N'Daniel',N'Johnson',21,12,4);
COMMIT

BEGIN TRANSACTION
INSERT into Advertisement(id_advertisement,id_details_adv,city,name_advertisement,status)
VALUES
(1,1,N'Finland',N'Apartment for a large family',N'Free'),
(2,2,N'London',N'Flat for businessman',N'Booked'),
(3,3,N'Scotland',N'Only for two people',N'Rented'),
(4,4,N'German',N'Two-room apartment',N'Free'),
(5,5,N'Kyiv',N'A large smart apartment',N'Booked');
COMMIT

BEGIN TRANSACTION
INSERT into
Details_advertisement(id_details_adv,address_of_bulding,desctiption_advertisement,prise)
VALUES
(1,N'Vyokatu 28',N'Nice plase with very beautiful landscapes',980),
(2,N'Abbey Road 7',N'Metro is not far from this plase',1200),
(3,N'Buchanan 89D',N'Yes this expensive but you must live here at least once',4900),
(4,N'Monkeburg 121A',N'District where you can see a lot of business center, interesting
bulding and so on',1450),
(5,N'Khreshatyk 14',N'Plase for people who want to live in the center of city',1100);
COMMIT
4. Скріни деяких табличок з даними:

Order _apartment

Details_advertisement

Advertisement

5. Переходимо в VS і підключаємось до БД

Це зроблений клас для підключення ось рядок який підключається до нашої БД


SqlConnection sqlConnection = new SqlConnection(@"Data
Source = DESKTOP-5Q57MK6\MSSQLSERVER1;Initial Catalog =
ITbase; Integrated Security = True");
6. Створюємо форму з логіном

7. Пишемо код який дозволяє нам зайти в БД


8. Заходимо під власником землі(орендодавцем)

9. Створюємо Datagridviews з інформацією про всі оголошення,


Деталі оголошень і оголошення які оголошення створені у цього
користувача.
Код(Створюємо поля в таблицях):
Код(Заповнюємо поля):
10.Функція додавання нового оголошення :
Ось ми бачимо що інформація додалась до усіх табличок
Код:
11.Функція зміни свого оголошення
Обираємо що хочемо змінити
Ми бачимо що все змінилось
Код:
12.Функція видалення

Бачимо що видалилось, код:

13.Авторизуємось під користувачем(орендарем)


14.Створюємо Datagridviews з інформацією про всі оголошення,
Деталі оголошень і оголошення які було орендовано цим користувачем
Код(Створюємо поля в таблицях):
Код(Заповнюємо поля):
15. Функція орендування
кидається прямо в очі це те що користувачі нашою системою бачать id такого не
повинно бути, це буде убрано в 7 лб (рефакторинг коду).

You might also like