Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2008, 19:23   #51
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Я прочитал про БД, посмотрел свой код и мне стало страшно. Решил я переделать заново всё приложение, несколько модернизировав саму базу.
Вот теперь проблема: не могу добавить в таблицу выдач выбранную книгу. Читателя главное по тому же алгоритму начинает добавлять, потом пытается добавить книгу и на этом происходит ошибка. Ругается -цитирую: "Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице 'Books' ". Что делать? Я ошибку не смог найти...

Исходник прилагается...
Вложения
Тип файла: rar DB.rar (63.2 Кб, 26 просмотров)
Arkuz вне форума Ответить с цитированием
Старый 02.11.2008, 11:50   #52
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Весь вечер пытался сделать, безуспешно...
Arkuz вне форума Ответить с цитированием
Старый 02.11.2008, 12:47   #53
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Да-а-а...
То, что нужно, опять закомментировано...
И опять, несмотря ни на что, упорные попытки присвоения значений лукаповским полям:
DataModule2.DistribReaderName.Value :=ReaderVAR;
DataModule2.DistribBookName.Value:= BookVAR;
У меня уже нет слов...

Хотя бы вот это исправьте:
ShowMessage('Дата возврата не может быть равной дате выдачи!!!');
Ну так и сделайте, чтобы у вас изначально была разница в датах между BeginDateTimePicker и EndDateTimePicker. Это что - очень трудно, установить при создании формы дату EndDateTimePicker на некоторое число дней больше ?

Последний раз редактировалось mihali4; 02.11.2008 в 18:19.
mihali4 вне форума Ответить с цитированием
Старый 02.11.2008, 17:44   #54
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Ну наконецто МихалычЬ от готовых решений перешол к просто советам (ато в этой теме только решение за решением человеку даже думать особо не надо было)
vovk вне форума Ответить с цитированием
Старый 03.11.2008, 13:36   #55
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Хотя бы вот это исправьте:
ShowMessage('Дата возврата не может быть равной дате выдачи!!!');
Ну так и сделайте, чтобы у вас изначально была разница в датах между BeginDateTimePicker и EndDateTimePicker. Это что - очень трудно, установить при создании формы дату EndDateTimePicker на некоторое число дней больше ?
Это не та проблема, которая меня интересует... Исправлю...
А то, что поля те лукаповские я совсем забыл...
Arkuz вне форума Ответить с цитированием
Старый 03.11.2008, 13:59   #56
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Код:
begin
 try
 DataModule2.Book.Locate('Name',ComboBox1.Text,[]);
 DBEdit2.Text:=DataModule2.BookBookID.AsString;
 DataModule2.Book.Edit;
 DataModule2.DistribBookName.Value:=ComboBox1.Text;
 except
 end;
end;
В старой программе эта строчка не вызывала ошибок, не смотря на то, что так делать нельзя...

Я пробовал делать как вы говорите... Указывать на ID читателя и книги...
Не работает....

Даже где я указываю на лукаповское поле должна быть ошибка ещё на читателе, но она пропускается...

И что не делай выскакивает ошибка про связи в таблице Книги...
Arkuz вне форума Ответить с цитированием
Старый 03.11.2008, 15:02   #57
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от Arkuz Посмотреть сообщение
ОШИБКА!!!
"Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице 'Books' ".
Не актуально... Я это сделал... Спасибо... Наконец-таки я понял...
Arkuz вне форума Ответить с цитированием
Старый 04.11.2008, 02:41   #58
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Код:
procedure TReadersForm.FindEditChange(Sender: TObject);
begin
 if Length(FindEdit.Text)=0 then
  DBGrid1.DataSource:=DataModule2.ReadersSource
     else
       begin
         DataModule2.FindReaderQuery.Open;
         DBGrid1.DataSource:=DataModule2.FindReaderSource;
        // DataModule2.FindReaderQuery.Close;
        // DataModule2.FindReaderQuery.Open;
       end;
end;
Сам запрос:
SELECT * FROM Readers WHERE (Name LIKE FindEdit.Text+'%')

Ничего не находит....

Последний раз редактировалось Arkuz; 04.11.2008 в 02:57.
Arkuz вне форума Ответить с цитированием
Старый 04.11.2008, 12:26   #59
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну, пора уже дружить с синтаксисом...
SQL.Text:='SELECT * FROM Readers WHERE (Name LIKE '+QuotedStr(FindEdit.Text+'%')+')';

И потом. Мне, например, было бы не очень приятно работать с вашей программой как пользователю... Зачем вы какую-то истерию нагнетаете своими тройными восклицательными знаками? Зачем эта фраза 'Внимание!!!'... Ну, сдает человек книгу и сдает, что тут такого особенного, что нужно вопить 'Внимание!!!' ? Он же не грабить пришел...
Работники библиотек, как правило, существа тихие и спокойные, и с нервами у них все в порядке, а вы такими формулировками сделаете из них невольных психов - не дай бог, на людей бросаться начнут

Последний раз редактировалось mihali4; 04.11.2008 в 12:40.
mihali4 вне форума Ответить с цитированием
Старый 04.11.2008, 13:31   #60
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Ну, пора уже дружить с синтаксисом...
SQL.Text:='SELECT * FROM Readers WHERE (Name LIKE '+QuotedStr(FindEdit.Text+'%')+')';

И потом. Мне, например, было бы не очень приятно работать с вашей программой как пользователю...
Я 1 раз делаю БД, а SQL по ходу разбираюсь....

А БД я делаю не для библиотеки, а курсовая у меня такая...

Мне кажется, что вы черезчур меня критикуете...
Arkuz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
библиотека Free Internet Titan123 Свободное общение 7 20.08.2008 15:19
Библиотека для Delphi Irat Помощь студентам 2 12.02.2008 20:13
Моя библиотека mochaliviy Свободное общение 3 11.01.2008 13:23
библиотека TK и Ruby kpp2 Ruby 5 22.12.2007 02:02
Стандартная библиотека... Sota Общие вопросы C/C++ 3 17.07.2007 19:18