Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.11.2007, 14:45
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию Справочная служба аэропорта

Система должна выдавать справки об авиарейсах из указанного пункта отправления, по требованию сообщать информацию о количестве свободных мест на заданное число, о проданных местах на весь месяц, выполнять операции покупки и сдачи билета.

Люди, может кто-нибудь делал такое или приблизительно похожее, может есть БД.
Если можете чем-то помочь пишите или присылайте на Kvas.off@mail.ru
Заранее большое спасибо.
Ответить с цитированием
  #2  
Старый 09.12.2007, 23:50
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию

Может кто-нибудь делал похожее через файлы?
Ответить с цитированием
  #3  
Старый 14.12.2007, 15:09
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию

Такой вопрос:
Использую бд парадокс, создаю таблицу рейсов и одним из пунктов является кол-во мест, целого типа
(long integer). А как реализовать покупку билетов и соответственно чтобы показывалось кол-во проднных и свободных мест?
Ответить с цитированием
  #4  
Старый 14.12.2007, 15:55
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Ну для кол-ва свободных мест хватит и простого (integer).

Создай SQL-запрос на выборку:
Код:
 Query.SQL.Add('SELECT * FROM (имя базы) WHERE (Имя поля) LIKE (признак продажи)'); 

После этого посчитать места можно путём:
Код:
Проданые=Общее количество мест - Свободные;
...
... используя свойство .DataSet.RecordCount - кол-во записей в DataSet после выборки нужных
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 14.12.2007 в 16:00.
Ответить с цитированием
  #5  
Старый 16.12.2007, 00:08
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию

Я сделал так:
1) таблица рейсов:
1 рейс
2 откуда
3 куда
4 тип самолета
5 кол-во мест всего

2) таблица вылетов
1 рейс
2 дата вылета
3 время отправления
4 время прибытия
5 продано билетов
6 свободно билетов

И такие вот возникли вопросы:
Создал эти две таблицы, но почемуто в таблиу вылетов не возможно добавлять новые записи или редактировать?
Я думаю проданных билетов и свободных будут вычисляемыми полями , зависящими от общего кол-ва мест , а как это реализовать в коде?
Заранее благодарю.
Ответить с цитированием
  #6  
Старый 16.12.2007, 13:54
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Сообщение от sds
Создал эти две таблицы, но почемуто в таблиу вылетов не возможно добавлять новые записи или редактировать?


Цитата:
Сообщение от sds
Я думаю проданных билетов и свободных будут вычисляемыми полями , зависящими от общего кол-ва мест , а как это реализовать в коде?

Посмотри это:
http://www.delphisources.ru/forum/sh...26&postcount=8
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #7  
Старый 16.12.2007, 13:55
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Сообщение от sds
Создал эти две таблицы, но почемуто в таблиу вылетов не возможно добавлять новые записи или редактировать?
Может у тебя таблица закрыта для редактирования!
Установи в Options->Edit=True

Цитата:
Сообщение от sds
Я думаю проданных билетов и свободных будут вычисляемыми полями , зависящими от общего кол-ва мест , а как это реализовать в коде?

Посмотри это:
http://www.delphisources.ru/forum/sh...26&postcount=8
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #8  
Старый 16.12.2007, 14:09
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Сообщение от sds
Создал эти две таблицы, но почемуто в таблиу вылетов не возможно добавлять новые записи или редактировать?
Может у тебя таблица закрыта для редактирования!
Установи в Options->Edit=True

Цитата:
Сообщение от sds
Я думаю проданных билетов и свободных будут вычисляемыми полями , зависящими от общего кол-ва мест , а как это реализовать в коде?

Посмотри это:
http://www.delphisources.ru/forum/sh...26&postcount=8
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #9  
Старый 16.12.2007, 22:26
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию

Хочу сделать так:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:integer;
begin
b:=StrToInt(Edit1.Text);
Table2Buy.Value:=b+Table2Buy.Value;
Table2Svobl.Value:=Table1Mest.Value - Table2Buy.Value;
end;
но выдает ошибку
Table2: dataset not in edit or insert mode.
Может что-то неправильно связал?
А смысл должен быть такой:
В Edit1 ввожу число, нажимаю кнопку и в таблице высчитывается кол-во проданных и свободных мест.
Ответить с цитированием
  #10  
Старый 16.12.2007, 23:18
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
Лампочка

Цитата:
Сообщение от sds
Может что-то неправильно связал?
Связал ты всё верно! Вот только строчки нехватает (точнее 2)
Замени:
Код:
b:=StrToInt(Edit1.Text);
Table2Buy.Value:=b+Table2Buy.Value;
на
Код:
b:=StrToInt(Edit1.Text);
Table2Buy.Edit;              // открытие Таблицы2 для редактирования
Table1Mest.Open;          // открытие Таблицы1
Table2Buy.Value:=b+Table2Buy.Value;
...
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #11  
Старый 17.12.2007, 01:10
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию

Подскажите пожалуста как мне показать все вылеты на определенную (вводимую) дату?
К примеру для показа рейсов из определенного места вылета я делаю так:
Цитата:
begin
DataSource1.DataSet:=Query2;
if okbottomdlg.ShowModal=mrok then \\ в edit1.text ввожу нужный пункт отправления и ищу
with Query2 do
begin
close;
ParamByName('dnazv').Value:=okbottomdlg.edit1.text ;
open;
end;
end;

А в sql пишу select * from aa where aa.otkuda=:dnazv
А вот с датой чето не получается, пишет вроде несоотетствие типов.

Последний раз редактировалось sds, 18.12.2007 в 00:51.
Ответить с цитированием
  #12  
Старый 20.12.2007, 21:31
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию

Такой вопрос: хочу сделать справку.
Как сделать так чтобы при вызове справки открывался вордовский документ?
Ответить с цитированием
  #13  
Старый 20.12.2007, 21:51
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
Подмигивание

Код:
ShellExecute(Handle, 'open', 'имя.doc', nil, nil, SW_SHOWNORMAL);
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #14  
Старый 21.12.2007, 12:11
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Сообщение от sds
Подскажите пожалуста как мне показать все вылеты на определенную (вводимую) дату?
К примеру для показа рейсов из определенного места вылета я делаю так:
А вот с датой чето не получается, пишет вроде несоотетствие типов.
http://www.delphisources.ru/forum/sh...11&postcount=4
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #15  
Старый 23.12.2007, 20:27
sds sds вне форума
Прохожий
 
Регистрация: 16.11.2007
Сообщения: 9
Репутация: 10
По умолчанию

Подскажите пожалуйста.
В одной таблице имеются рейсы , в другой даты вылета этого рейса (связь 1 к многим);
1) таблица рейсов: 2) таблица вылетов
1 рейс 1 рейс
2 откуда 2 дата вылета
3 куда 3 время отправления
4 тип самолета 4 время прибытия
5 кол-во мест всего 5 продано билетов
6 свободно билетов


В таблице рейсов имеется несколько рейсов с разным кол-вом билетов, и у каждого рейса по несколько вылетов.
В таблице рейсов я выбираю рейс(1) . Потом нажимаю кнопку и показываю все рейсы из заданного пункта отправления. Выбираю появившейся рейс и в другой таблице показываются все вылеты этого рейса. Выбираю нужный рейс(2) и нажимаю кнопку покупки билетов, ввожу нужное кол-во билетов. НО кол-во купленных и свободным мест рассчитывается на основании (кол-во мест всего) рейса который я выбрал первым(1) еще до выборки из заданного пункта отправления , а должно рассчитываться на основании рейса который я выбрал после выборки(2).
Надеюсь вы поняли.

Как это исправить?

Так я выбираю рейс из заданного пункта отправления

Код:
procedure TForm1.N5Click(Sender: TObject);
begin
  DataSource2.DataSet:=Query1;
DataSource1.DataSet:=Query2;
if okbottomdlg.ShowModal=mrok then
with Query2 do
begin
close;
ParamByName('dnazv').Value:=okbottomdlg.edit1.text;
open;
end;
А в sql пишу select * from aa where aa.otkuda=:dnazv

Так я осуществляю покупку билетов
Код:
procedure TForm4.Button1Click(Sender: TObject);
var
b:integer;
begin
form1.Query1buy.ReadOnly:=False;
form1.Query1svob.ReadOnly:=False;
form1.Query1.Edit;
form1.Table1.Open;
b:=StrToInt(Edit1.Text);
form1.Query1svob.Value:=form1.Table1Mest.Value - form1.Query1buy.Value;
if b>form1.Query1svob.Value then ShowMessage('ошибка') else begin
form1.Query1.Edit;
form1.Table1.Open;
  form1.Query1buy.Value:=b+ form1.Query1buy.Value;
form1.Query1svob.Value:=form1.Table1Mest.Value - form1.Query1buy.Value;
   form1.Query1.Post;
    end;
  form1.Query1buy.ReadOnly:=True;
  form1.Query1svob.ReadOnly:=true;
  form4.Close;
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter