Показывает данные о студенте, код бюджетного места (если оно есть) и флаг актуальности (если есть бюджетное место и флаг равен нулю, значит студент был отчислен с бюджета, если флаг равен единице – это актуальный бюджетник). Этот запрос отличается наличием или отсутствием прокомментированной строки, который либо берет РЕАЛЬНО обучающихся людей (без отчисленных), либо всех. В процедуре 4 запроса, но RefreshSQL нужен только для корректного обновления данных в гриде. Его отдельное описание обусловлено кривостью компонента TibDataSet. Оставшиеся два отличаются только одной строкой, о которой говорилось выше.
procedure TForm1Main.N46Click(Sender: TObject);
Пункт «только Бюджет». Делает выборку из таблицы бюджетников и показывает только актуальных обучающихся бюджетников.
-Запрос на выборку бюджетников похож на запрос из N35Click()
select
s.*,
kb.nazv as BUD_PLACE,
b.last_flag as LF
from student s
left join budjet b on (b.student_id = s.id)
left join kod_budj kb on (kb.id = b.kod_id)
WHERE b.last_flag = 1 -- это условие находит ТОЛЬКО бюджет. Условие достаточно.
procedure TForm1Main.N43Click(Sender: TObject);
Пункт «Только контракт». Прячет бюджетников и оставляет только контрактников.
-Запрос на выборку контрактников похож на запрос из N35Click()
select
s.*,
kb.nazv as BUD_PLACE,
b.last_flag as LF
from student s
left join budjet b on (b.student_id = s.id)
left join kod_budj kb on (kb.id = b.kod_id)
WHERE b.last_flag IS NULL-- это условие находит ТОЛЬКО контракт.
procedure TForm1Main.N47Click(Sender: TObject);
Показывать и контракт и бюджет.
-Запрос на выборку ВСЕХ похож на запрос из N35Click(). Здесь просто нет строки с WHERE:
select
s.*,
kb.nazv as BUD_PLACE,
b.last_flag as LF
from student s
left join budjet b on (b.student_id = s.id)
left join kod_budj kb on (kb.id = b.kod_id)
procedure TForm1Main.N48Click(Sender: TObject);
Ставит галочку «выделить отчисленных» и перерисовывает форму.
procedure TForm1Main.N42Click(Sender: TObject);
«Изменить» → «студента». Открывает личную карточку.
procedure TForm1Main.cxDBTextEdit1KeyPress(Sender: TObject; var Key: Char);
«Защита от дурака». В фамилию можно писать только буквы и backspace.
procedure TForm1Main.cxDBTextEdit4KeyPress(Sender: TObject; var Key: Char);
Защита от дурака. В телефон можно писать только цифры и backspace.
procedure TForm1Main.N25Click(Sender: TObject);
Открывает форму «Других» отчетов.
procedure TForm1Main.cxGrid1DBTableView1DblClick(Sender: TObject);
Открываем личную карточку. Запрос внутри находить специальность.
См. запрос из RzBitBtn1Click();
**
RzBitBtn1Click() === cxGrid1DBTableView1DblClick()
procedure TForm1Main.N22Click(Sender: TObject);
Пункт «отчислить меню» контекстного меню PopupMenuStud. Если студент бюджетник – открыть окно бюджетных мест (их отчисление делается там), если контрактник – вывести диалоговое окно, если уже отчислен вывести сообщение об ошибке. Запрос на удаление берется из текстового файла 'SQL\otchis.sql' и подкружается в DataSet.
-Запрос в файле otchis.sql:
update student
set OTCHIS_N= 'ВВЕДИТЕ №'
where (id = :LS)
Вписывает строку «Введите №» в строку с приказом на отчисление. Параметром передается ID студента.
procedure TForm1Main.N49Click(Sender: TObject);
Физическое удаление студента из БД. Здесь вываливается более интересное диалоговое окно = )
**
Form1Main.N49Click() → frmConfirm.FormShow() →..userActions → RzEdit1Change()→ RzOKClick()
procedure TDataModule2.IBDBBeforeConnect(Sender: TObject);
Логирование попытки соединения c БД в файл Logs\conn.log. Все процедуры логирования происходят одинаково – открыватеся файл на дозапись (append) и вставляется строчка с текущим датой и временем и операцией.
Например: 21.06.2011 2:30:24: попытка соединения SYSDBA c БД.
procedure TDataModule2.IBDBAfterConnect(Sender: TObject);
Логирование успешного соединения c БД в файл Logs\conn.log
procedure TDataModule2.IBDBBeforeDisconnect(Sender: TObject);
Логирование попытки отключения от БД в файл Logs\conn.log
procedure TDataModule2.IBDBAfterDisconnect(Sender: TObject);
Логирование успешного отключения от БД в файл Logs\conn.log
procedure TDataModule2.IBStudAfterInsert(DataSet: TDataSet);
Логирование добавил нового студента. Файл: Logs\stud.log
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.