Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Удаление записей из БД




Добавление новых записей в БД

Сводная таблица БД - выбор курсовой работы.

Рассмотрим подробнее работу программы. На главной форме размещены 2 кнопки для подключения / разрыва соединения с базой. Для соединения с базой используется метод Open для объектов типа Query (qMain.Open и тд). Для разрыва соединения – метод Close.

Список курсовых работ, хранимых в Бд отображается на объекте dbgMain (типа TDBGrid), который связан с таблицей Title БД компонентами qMain (TQuery) и dsMain (TDataSource). Запрос Sql в qMain имеет вид:

Select * from Title.

При этом в компонент qMain включены поля Number, Date_Defence, Student_Family, Mark. В результате выполнения метода Open на форме отображается краткая информация по работам студентов, хранящихся в БД.

 

При нажатии на кнопку Добавить запись происходит добавление в БД новой записи. При этом используется объект qUpdate (TQuery) в котором формируется запрос

Insert into Title (<Список полей>) values (<Список значений>).

Список полей содержит все поля таблицы Title, значения для их заполнения берутся из свойств Text компонентов TLabelEdit закладки Общие данные. Для формирования sql запроса используются следующие строковые переменные: sPole:=''; sParam:='';s:=#39; p:= ', '. В стрке sPole хранится список полей, sParam – список значений этих полей, переменная s – представляет собой символ одиночной кавычки (используется для обрамления строковых значений в списке sParam, вводится в виде кода #39 таблицы символов из-за конфликта с компилятором Delphi так же использующим символ ‘ для ограничения строковых переменных). p – запятая, часто применяемая в записи sql запроса. В результате добавление каждого поля выглядит следующим образом:

sPole:=sPole+'Minist, ';

sParam:=sParam+s+leMinist.Text+s+p;

После перечисления всех полей из запроса вырезаются последние запятые:

lPole:=length(sPole);

lParam:=length(sParam);

sPole:=copy(sPole,1,lPole-2);

sParam:=copy(sParam,1,lParam-3);

В результате выполняется следующий запрос (внутри with qUpdate do):

Sql.Clear;

Sql.Add('Insert into Title ('+sPole+') values ('+sParam+')');

Close;

ExecSql;

 

После создания записи в таблице Title создаются строки в таблицах Zadanie, Part1, Part2, Part3 для этого номера. В дальнейшем выполняется лишь занесение в них значений путем путем изменения значений полей.

 

 

Удаление записи из БД производится выполнением запроса 'Delete from Part1_Time Where Number= '+IntToStr(N), где в переменной N содержится номер удаляемой записи. Запрос выполняенся в объекте qUpdate (TQuery) для шести таблиц при нажатии на кнопку Удалить запись.

 





Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 322; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.