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

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

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

Восстановить пароль

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

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

Я уже что-то и запрос никак не найду... Переделывал, не помню уже... Ну возникнет такого характера проблема... Тогда обращусь к вам...
Arkuz вне форума Ответить с цитированием
Старый 11.11.2008, 12:50   #72
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Я опять с вопросом...

Запрос. Нужно выбрать фамилии читателей, которые задолжали книгу более чем на месяц...
Есть 2 таблицы. Distribution - выдачи и Readers соответственно читатели.
Эти две таблицы связаны по полю ReaderID.

Не получается никак сделать...
Даже не получается номер читателя выбрать:

SELECT Distribution.ReaderID FROM Distribution WHERE
Distribution.ReaderID=Readers.Reade rID
Arkuz вне форума Ответить с цитированием
Старый 11.11.2008, 12:54   #73
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Вот так вроде бы правильно

SELECT Distribution.ReaderID FROM Distribution WHERE
Distribution.ReaderID=(SELECT Readers.ReaderID FROM Readers WHERE Distribution.ReaderID=Readers.Reade rID)

а подскажите как вывести фамилии а не ID

И почему этот не работает

SELECT Distribution.ReaderID FROM Distribution WHERE
Distribution.ReaderID=Readers.Reade rID

Ведь это одно и тоже с тем, который выше???
Arkuz вне форума Ответить с цитированием
Старый 11.11.2008, 12:56   #74
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

SELECT Distribution.ReaderID,Readers.Reade rID,Readers.FIO FROM Distribution,Readers WHERE
Distribution.ReaderID=Readers.Reade rID
mihali4 вне форума Ответить с цитированием
Старый 11.11.2008, 18:52   #75
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Спасибо...
Arkuz вне форума Ответить с цитированием
Старый 24.11.2008, 15:43   #76
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Это снова я... Привет всем...

БД почти пришла к своему логическому завершению... Есть ещё пара вопросов....

Один задам... Когда я нажимаю на кнопку сдача, книге в "Истории" булеву полю присваивается ложь, а дате - текущая дата. Тоже самое делается, если групбокс стоит на "Должниках". Но что самое интересное работает сдача через "Должников" не всегда.

Попробуйте создать несколько выдач, и перезапустить программу. Поставить групбокс в "Должники" и попробуйте сдать книгу. У меня не получается... А через "Историю" сдаёт.

Прикрепляю файл... Не знаю что делать, вроде по событию нажатия на "Сдача" всё правильно... Не знаю, жду помощи...
Вложения
Тип файла: rar DB.rar (430.4 Кб, 30 просмотров)
Arkuz вне форума Ответить с цитированием
Старый 24.11.2008, 17:03   #77
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну, во-первых, вот это меня просто изумило:
Код:
 {Подсчёт кол-ва должников}
 DataModule2.CountDolgQuery.Open;
 Edit1.Text:=DataModule2.CountDolgQueryExpr1000.AsString;
 DataModule2.CountDolgQuery.Close;
А разве DataModule2.DolgQuery.RecordCount - не то же самое?

Теперь собственно по заданному вопросу.
Опять у вас то же самое - вы хотите зафиксировать сдачу книги одним читателем, а редактируете таблицу Distrib не глядя, на какой строке сейчас находится курсор базы (то есть выбранная запись в этой таблице вами никак не определена), вот и получается, что я хочу зафиксировать сдачу книги Хабибулиным, а в программе все действия по редактированию таблицы Distrib производятся с выбранной в данный момент записью, где читатель-то, оказывается, вовсе не Хабибулин, а Парфенов...
И чего ж тут удивляться, что Хабибулин не пропадает из списка должников?
Locate, Locate, и еще раз Locate!
mihali4 вне форума Ответить с цитированием
Старый 24.11.2008, 23:45   #78
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Ну, во-первых, вот это меня просто изумило:
Код:
 {Подсчёт кол-ва должников}
 DataModule2.CountDolgQuery.Open;
 Edit1.Text:=DataModule2.CountDolgQueryExpr1000.AsString;
 DataModule2.CountDolgQuery.Close;
А разве DataModule2.DolgQuery.RecordCount - не то же самое?
Ну а что вас так удивляет...??? Работает и нормально, я же не через Ж**У сделал, как многое было сделано в первой версии таблицы... Типа отмены изменений... Главное в принципе рациональное решение...

Ну а что касается собственно вопроса, то я подозревал, что нужно использовать Locate, он и используется, но только для указания на записи в других таблицах... А вот как раз на Distrib я и не указываю...
--------
Я просто откладывал работу над БД на пару недель... Поэтому никак не доделаю...

Спасибо за помощь...
Arkuz вне форума Ответить с цитированием
Старый 25.11.2008, 00:20   #79
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

{Подсчёт кол-ва должников}
Edit1.Text:=IntToStr(DataModule2.Do lgQuery.RecordCount);
mihali4 вне форума Ответить с цитированием
Старый 25.11.2008, 00:24   #80
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

подскажите, как правильно записать этот Locate:

Код:
DataModule2.Distrib.Locate('ReaderID;BookID;DateOfBegin;DateOfEnd;bool',varArray(
    DataModule2.DolgQueryReaderID.Value,DataModule2.DolgQueryBookID.Value,
    DataModule2.DolgQueryDateOfBegin.Value,DataModule2.DolgQueryDateOfEnd.Value,true,[]));

varArrayOf не получается написать...

Последний раз редактировалось Arkuz; 25.11.2008 в 00:36.
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