![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый вечер, уважаемые программисты!
Имеется программа, к которой подключена БД. В БД 4 таблицы - Авторы, Книги, Абонемент и Выдачи. Нужно создать в таблице Выдачи запись, которая будет содержать данные из остальных трех таблиц - Фамилию из таблицы Авторы, Название из таблицы Книги, №абонемента и фамилию из таблицы Абонемент. Подскажите, пожалуйста, как это можно реализовать. |
#2
|
||||
|
||||
![]() Цитата:
Вам поможет INSERT..SELECT http://phpclub.ru/mysql/doc/insert.html Это в общих чертах и конкретно для mysql ) Я за здоровый экстрим! Спасибо за "спасибо") |
#3
|
|||
|
|||
![]() Дело в том, что данные из таблицы Абонемент нужно выбирать. Т.е. при нажатии кнопки Выдать книгу должно появляться окно со всеми ее данными и с возможностью выбрать из выпадающего списка человека, которому выдается книга.
|
#4
|
||||
|
||||
![]() не помешала бы структура таблиц, их связь. какие компоненты и субд?
Я за здоровый экстрим! Спасибо за "спасибо") |
#5
|
||||
|
||||
![]() Может немного и не по теме, но посмотрите вот это.
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#6
|
|||
|
|||
![]() Цитата:
|
#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)
|
#10
|
|||
|
|||
![]() Ругается - incompatible types 'integer' and 'string' на asinteger и asstring
|
#11
|
||||
|
||||
![]() а, ну да. извиняюсь. в запросе используется только текст. ставь везде asstring. думаю база пропустит. если нет - ставь еще кавычки
Я за здоровый экстрим! Спасибо за "спасибо") |
#12
|
|||
|
|||
![]() Вот эту строку datetimepickler1(date) + ', ' +
я заменила на эту FormatDateTime('dd/mm/yyyy',Form9.DateTimePicker1.DateTime) + ', ' + т.к. иначе работать не хотело. Теперь вылетает ошибка "число содержит синтаксическую ошибку в выражении запроса "23.05.2013" Хотя не очень понятно, почему оно берет не сегодняшнее число, а 23 |
#13
|
||||
|
||||
![]() с этими датами у меня тож морока была, пока не прочитал, что моя субд по-умолчанию америкосовский тип даты использует. поставил
Код:
formatdatetime(yyyymmdd, ...) а дату устанавливай при, например, активации формы Код:
datetimepickler1.date:=date; Я за здоровый экстрим! Спасибо за "спасибо") |
#14
|
|||
|
|||
![]() Теперь при запросе выдает ошибку "Переполнение"
![]() |
#15
|
||||
|
||||
![]() че это такое, не разу не видел
Я за здоровый экстрим! Спасибо за "спасибо") |