Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДР.doc
Скачиваний:
19
Добавлен:
10.06.2015
Размер:
2.07 Mб
Скачать

Приложение д

(обязательное)

Физическая структура БД Commerce

Приложение Е

(обязательное)

Программный код

Листинг 1. Процедура открытие справочника с актуальными вакансиями на текущий день.

procedure TForm1.Vakans(Sender: TObject);

begin

//Актуальные вакансии

DataModule1.IBtablvak.Active:=false;

DataModule1.IBtablvak.SelectSQL.Add('select * from vak where wdate='''

+ datetostr(date())+'''');

DataModule1.IBtablvak.Active:=true;

DataModule1.IBtablvak.First;

Form_vak.Show;

end;

Листинг 2. Процедура создания новой анкеты кандидата.

procedure TForm1.ADD_ANKETA(Sender: TObject);

var i, j:word;

str: string;

ft : string;

begin

//Вставка новой записи

datamodule1.IBDataSet1.Insert;

datamodule1.IBDataSet1.Post;

form1.ComboBox1.ItemIndex:=-1;

flag:=datamodule1.IBDataSet1.Fields[46].AsInteger;

datamodule1.IBDataSet1.Edit;

//загружаем изображение

if (vartostr(datamodule1.IBDataSet1.FieldValues['Foto'])<>'') then

ft:=datamodule1.IBDataSet1.FieldValues['Foto']

else

ft:=ExtractFilePath(Application.ExeName)+'\фото\not.jpg' ;

foto.Picture.LoadFromFile(ft);

//открываем таблицу образования

datamodule1.IBobraz.Active:=false;

j:=strtoint(vartostr(datamodule1.IBDataSet1.FieldValues['code']));

datamodule1.IBobraz.SelectSQL.Add('select * from OBRAZ where CODE_ANKETA = ' +inttostr(j));

datamodule1.IBobraz.Active:=true;

//Открываем таблицу профессий

datamodule1.IBDop_proff.Active:=false;

datamodule1.IBDop_proff.SelectSQL.Add('select CODE, CODE_ANKETA, CODE_PROF'+' from DOP_PROF where CODE_ANKETA = ' +inttostr(j));

datamodule1.IBDop_proff.Active:=true;

//Открываем таблицу с информацией о владении языками

datamodule1.IBin.Active:=false;

datamodule1.IBin.SelectSQL.Add('select CODE, CODE_ANKET, CODE_IN, CODE_VLAD'+ ' from IN_YAZ where CODE_ANKET = ' +inttostr(j));

datamodule1.IBin.Active:=true;

//Предыдущее место работы

datamodule1.IBtrud.Active:=false;

datamodule1.IBtrud.SelectSQL.Add('select CODE, CODE_ANKET,'+ ' DATE1, DATE2, NAME, OBAZ, PODR, PRICHINA, PROF '+ ' from TRUD where CODE_ANKET = ' +inttostr(j));

datamodule1.IBtrud.Active:=true;

//Семейное положение

datamodule1.IBdeti.Active:=false;

datamodule1.IBdeti.SelectSQL.Add('select CODE, CODE_ANKET, DATE1, NAME, LETI'+ ' from DETI where CODE_ANKET = ' +inttostr(j));

datamodule1.IBdeti.Active:=true;

end;

Листинг 3.Определение результата тестирования

procedure TTest.test_rexult();

var i, j, k, k1, r, r1 , bb, bb_m:integer; pr:real; s:string; tr: Tdatetime;

begin

timer1.Enabled:=false;

DataModule1.IBSQL1.Close;

DataModule1.IBSQL1.SQL.Add('select * from tester(:cod)')

DataModule1.IBSQL1.ParamByName('cod').AsInteger:= te;

DataModule1.IBSQL1.ExecQuery;

i:=DataModule1.IBSQL1.FieldByName('code').AsInteger;

//выбираем нужный результат теста

DataModule1.IBrezult.Active:=false;

DataModule1.IBrezult.SelectSQL.Add(' select * from REZULTAT_TEST '); DataModule1.IBrezult.SelectSQL.Add(' where CODE_TEST='+inttostr(I)); DataModule1.IBrezult.SelectSQL.Add( ' and '+' case when proz = 1 then '+floattostrF(pr, ffFixed, 8, 2)+' else '+inttostr(bb)+' end '+' between ' +' case when ot is null then 0 else ot end and'+' case when po is null then 10000000 else po end '); DataModule1.IBrezult.SelectSQL.Add(' order by code');

DataModule1.IBrezult.Active:=true;

DataModule1.IBSQL2.Close;

end;