Справочная служба аэропорта

Тема в разделе "Delphi - Базы данных", создана пользователем sds, 16 ноя 2007.

  1. sds

    sds Гость

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

    Люди, может кто-нибудь делал такое или приблизительно похожее, может есть БД.
    Если можете чем-то помочь пишите или присылайте на Kvas.off@mail.ru
    Заранее большое спасибо.
     
  2. Barmutik

    Barmutik Гость

    Забавно... готовую прогу? Вы бы спрашивали хоть совета что ль ...
     
  3. sds

    sds Гость

    Да у меня вся проблема с БД , не совсем я шарю (учусь) .
    Может сможете выложить БД, буду очень благодарен.
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-sds+3:12:2007, 13:40 -->
    <span class="vbquote">(sds @ 3:12:2007, 13:40 )</span><!--QuoteEBegin-->Да у меня вся проблема с БД
    [snapback]88082" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    И какую БД Вы выбрали?
     
  5. sds

    sds Гость

    Такой вопрос:
    Использую бд парадокс, создаю таблицу рейсов и одним из пунктов является кол-во мест, целого типа
    (long integer). А как реализовать покупку билетов и соответственно чтобы показывалось кол-во проднных и свободных мест?
     
  6. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-sds+14:12:2007, 14:11 -->
    <span class="vbquote">(sds @ 14:12:2007, 14:11 )</span><!--QuoteEBegin-->и одним из пунктов является кол-во мест
    [snapback]89971" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    добавить аналогичный, который будет отобрабжать кол-во проданных или свободных
     
  7. SNike

    SNike Гость

    Базочку для этих целей нужно к примеру MS SQL Server, если денежный вопрос мучает - то Firebird тоже неплох. Даже если тебе выложить базу - это не поможет, потому что к ней нужно ещё и программирование чтоб написать программу для работы с ней. Не будет же оператор, диспетчер или еще кто открывать Database Desktop или IBExpert чтоб что-то посмотреть. Наверняка понадобятся печатные формы, отчетность и куча всего прочего.

    Вот варианты решения проблемы которые известны всем ;)

    а) покупать готовую программу
    б) заказывать её разработку у тех кто с этим справится
    б) самому осваивать базы, SQL и программирование
     
  8. sds

    sds Гость

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

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

    И такие вот возникли вопросы:
    Создал эти две таблицы, но почемуто в таблиу вылетов не возможно добавлять новые записи или редактировать?
    Я думаю проданных билетов и свободных будут вычисляемыми полями , зависящими от общего кол-ва мест , а как это реализовать в коде?
    Заранее благодарю .
     
  9. root

    root Гость

    Для: sds
    Вы тех задания составьте + концептуальный проект, после разберите что хочет пользователь, затем выбирите тип реализации(БД,связку, платформу, ) так как не все Ёгурты одинаково полезны, а так как вы это себе представляете это не всегда правильно, после вам самим легче будет и мы здесь вас начнем более внятно понимать, а так визуально представлять проект как представляете его себе вы, лично мне не очень удобно.

    P.S это реальный проект или так самообразование ?
     
  10. sds

    sds Гость

    Подскажите пожалуста как мне показать все вылеты на определенную (вводимую) дату?
    К примеру для показа рейсов из определенного места вылета я делаю так:
    Код (Text):
    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
    А вот с датой чето не получается, пишет вроде несоотетствие типов.
     
  11. SNike

    SNike Гость

    Код (Text):
    SELECT * FROM TABLE WHERE DATE_FIELD=:pDate
    ParamByName('pDate').AsDateTime := MyDate;
    Open
     
  12. Barmutik

    Barmutik Гость

    Немного офа!

    Для: sds
    За месяц такой прогресс(в прямом смысле) ;)
     
  13. sds

    sds Гость

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


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

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

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

    Код (Text):
    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
    Так я осуществляю покупку билетов
    Код (Text):
    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;
     
  14. piterkoshka

    piterkoshka Гость

    Мы примерно такое делали в ФоксПро в свое время...
    Сделал хоть, нет?
     
Загрузка...

Поделиться этой страницей