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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.04.2009, 11:41
Аватар для Master-Sergey
Master-Sergey Master-Sergey вне форума
Прохожий
 
Регистрация: 25.05.2008
Адрес: г.Луганск
Сообщения: 25
Репутация: 10
Восклицание Банкомат на Delphi c использование InterBase

Доброго времени суток, ув. форумчане!

Помогите пожалуйста!

Задача такова:
Необходимо разработать клиент-серверное приложение "БАНКОМАТ"

Подскажите с чего начать........ ?
Ответить с цитированием
  #2  
Старый 25.04.2009, 15:02
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Это будет реальная задача с реальным банкоматом? %(
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 25.04.2009, 15:21
Аватар для Master-Sergey
Master-Sergey Master-Sergey вне форума
Прохожий
 
Регистрация: 25.05.2008
Адрес: г.Луганск
Сообщения: 25
Репутация: 10
По умолчанию

Нет это практическое задание по информатике......
Ответить с цитированием
  #4  
Старый 25.04.2009, 16:47
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Уф, полегчало. Разве можно так пугать.
Я начал опасаться за нашу итак неслишком надежную банковскую систему.
А по вопросу. Наверное первое с чего надо начать, это сэмулировать работу банковского аппарата на клиенте.
Типа вставьте карту,
введите пинкод,
выберите операцию
...
Заберите вашу опустошенную карту.

После этого можно уже сделать таблицы под эти данные, и т.д.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 25.04.2009, 16:54
Аватар для Master-Sergey
Master-Sergey Master-Sergey вне форума
Прохожий
 
Регистрация: 25.05.2008
Адрес: г.Луганск
Сообщения: 25
Репутация: 10
По умолчанию

Точно в цель! Преподватель так и говорил!

Я вот думаю начать с создания БД клиентов!
Ну вот только не знаю как это сделать.......
Может есть какие-то идеи.....?
Ответить с цитированием
  #6  
Старый 25.04.2009, 17:28
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

У вас предполагается отдельно БД клиентов, а отдельно серверная БД?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 25.04.2009, 17:49
Аватар для Master-Sergey
Master-Sergey Master-Sergey вне форума
Прохожий
 
Регистрация: 25.05.2008
Адрес: г.Луганск
Сообщения: 25
Репутация: 10
По умолчанию

Нет база одна, хранится на сервере!

А клиенты получают к ней доступ с определенными правами:
- проверка счета (права только чтения)
- снятие, перевод денег (права на редактирование)
Ответить с цитированием
  #8  
Старый 25.04.2009, 19:31
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

- проверка счета (права только чтения)
- снятие, перевод денег (права на редактирование)
Как-то вы неверно применяете права.
В приведенном вами примере права вообще ни причем, просто в первом случае запрос на получение данных, а во втором на изменение.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #9  
Старый 26.04.2009, 18:03
Аватар для Master-Sergey
Master-Sergey Master-Sergey вне форума
Прохожий
 
Регистрация: 25.05.2008
Адрес: г.Луганск
Сообщения: 25
Репутация: 10
По умолчанию

Да, наверное непрвельно понял!

Страдалецъ, а можешь привести примеры как выполнить запрос на получение, и редактирование данных..... очень буду признателен.....

Зарание спасибо!
Ответить с цитированием
  #10  
Старый 26.04.2009, 19:02
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Приведу пример как это будет происходить на Дельфи применительно к вашей задаче:
Допустим есть таблица в которой содержиться информацио о клиенте: ClientInfo(ID,PIN,FirstName,MiddleName,LastName,Ba lance) и таблица в которой записываются операции со счетами. OperationJournal(ClientID,Operation,OperationDate)
Мы хотим получить список всех операций клиента с PIN='0000001'
Код:
Q := TAdoQuery.Create(nil);
Q.Connection := AdoConnection1;
Q.SQL.Text := ‘select OperationJournal.* from ClientInfo inner join OperationJournal on OperationJournal.ClientID=ClientInfo.ID where ClientInfo.Pin = :Pin’ ;
Q.Parameters.ParamValues[‘Pin’] := ‘0000001’;
Q.Open;
Далее, хотим провести операцию снятия 1000 руб со счета клиента с PIN='0000001'.
Здесь уже одним запросом не сделать, т.к изменятся будут сразу две таблицы.
Сначала получим код клиента с PIN='0000001':
Код:
Q := TAdoQuery.Create(nil);
Q.Connection := AdoConnection1;
Q.SQL.Text := ‘Select ID from ClientInfo where PIN=:Pin’ ;
Q.Parameters.ParamValues[‘Pin’] := ‘0000001’;
Q.Open;
ClientID := Q.FieldValues[‘ID’];
Затем внесем в журнал операций информацию о снятия со счета 1000 рублей:
Код:
Q.SQL.Text := ’Insert into OperationJournal (ClientID,Operation,OperationDate) Values(:ID,:Operation,:Date);
Q.Parameters.ParamValues[‘ID’] := ClientID;
Q.Parameters.ParamValues[‘Operation’] := 'Снятие со счета';
Q.Parameters.ParamValues[‘Date’] := Now;
Q.ExecSQL;
И наконец уменьшим сумму на счете клиента:
Код:
Q.SQL.Text := ’Update ClientInfo set Balance = Balance + :Value where ID=:ClientID’;
Q.Parameters.ParamValues[‘ID’] := ClientID;
Q.Parameters.ParamValues[‘Value’] := -1000;
Q.ExecSQL;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 26.04.2009 в 19:55.
Ответить с цитированием
  #11  
Старый 27.04.2009, 14:14
Аватар для Master-Sergey
Master-Sergey Master-Sergey вне форума
Прохожий
 
Регистрация: 25.05.2008
Адрес: г.Луганск
Сообщения: 25
Репутация: 10
По умолчанию

Спасибо, конечно ну это немножечко не то...

Ты привел пример с использованием технологии ADO, а мне надо на InterBase....
Ответить с цитированием
  #12  
Старый 27.04.2009, 14:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А какая разница. Замени ADO на IBX и будет то же самое. Только транзацию надо указать...
Ответить с цитированием
  #13  
Старый 27.04.2009, 15:59
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Вы же просили примеры на получение редактирование данных, вот я вам их и дал. Компоненты через которые вы будете это делать работают практически по одному и тому-же принципу. Текст запроса тоже не претерпит изменения от перехода с ADO на Interbase. Единственное отличие, это обязательность транзакций т.к. интербейс так называемая многоверсионная БД, где каждая операция связанная с изменением БД порождает новую версию данных и соответственно можно получить всю историю с откатом на любую версию.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #14  
Старый 27.04.2009, 16:09
Аватар для Master-Sergey
Master-Sergey Master-Sergey вне форума
Прохожий
 
Регистрация: 25.05.2008
Адрес: г.Луганск
Сообщения: 25
Репутация: 10
По умолчанию

На основании технологии ADO я занаю как делать, у меня проблемы с Inter Base.....
Мне бы примерчик ......
Ответить с цитированием
  #15  
Старый 27.04.2009, 16:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Я ж говорю. Все тоже самое 1 в 1, толко компоненты IBX используй. И все.
Только они требуют отдельного компонента IBTransaction. Это единственная разница.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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