![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Добрый вечер, уважаемые программисты!
Имеется программа, к которой подключена БД. В БД 4 таблицы - Авторы, Книги, Абонемент и Выдачи. Нужно создать в таблице Выдачи запись, которая будет содержать данные из остальных трех таблиц - Фамилию из таблицы Авторы, Название из таблицы Книги, №абонемента и фамилию из таблицы Абонемент. Подскажите, пожалуйста, как это можно реализовать. |
|
#2
|
||||
|
||||
|
Цитата:
Вам поможет INSERT..SELECT http://phpclub.ru/mysql/doc/insert.html Это в общих чертах и конкретно для mysql ) |
|
#3
|
|||
|
|||
|
Дело в том, что данные из таблицы Абонемент нужно выбирать. Т.е. при нажатии кнопки Выдать книгу должно появляться окно со всеми ее данными и с возможностью выбрать из выпадающего списка человека, которому выдается книга.
|
|
#4
|
||||
|
||||
|
не помешала бы структура таблиц, их связь. какие компоненты и субд?
|
|
#5
|
|||
|
|||
|
Цитата:
|
|
#7
|
||||
|
||||
|
Цитата:
Цитата:
|
|
#8
|
|||
|
|||
|
В таблицу Выдача идут поля:
ID автора, фамилия автора - из таблицы Автор ID книги, название книги - из таблицы Книги ID человека, фамилия - из таблицы People должны выбираться Дата выдачи, срок и статус книги - вводятся самостоятельно |
|
#9
|
||||
|
||||
|
Цитата:
добавь Quеry пиши на событии кнопки Код:
Query.close;
query.SQL.text:='INSERT INTO vidacha(idавтора, фамилия автора, idкниги, название книги, фамилиячеловека, дата, срок, статус) VALUES (' +
tableAuthors.fieldbyname('idавтора').asinteger + ', ' +
QuotedStr(tableAuthors.fieldbyname('фамилияавтора').asstring) + ', ' +
tablebooks.fieldbyname('idкниги').asinteger + ', ' +
QuotedStr(tablebooks.fieldbyname('названиекниги').asstring) + ', ' +
QuotedStr(people.fieldbyname('фамилиячеловека').asstring) + ', ' +
datetimepickler1(date) + ', ' +
QuotedStr(edit1.text) + ', ' +
QuotedStr(edit2.text) + ')';
try
Query.ExecSQL;
except
begin
messageDlg('Ошибка SQL', mtError, [mbOK], 0);
exit;
end;
end;подставляй поля согласно схеме данных в этом запросе и добавь на форму datetimepickler1 - дата выдачи, edit1 - срок выдачи, edit2 - статус Последний раз редактировалось Mrak, 21.05.2013 в 09:47. |
| Этот пользователь сказал Спасибо Mrak за это полезное сообщение: | ||
poison-bla (29.05.2013)
| ||