with Form1.Query
do
begin
close;
sql.Clear;
sql.Add('
IF EXISTS(SELECT * FROM Arbeitszeiten WHERE Datum = date''
'+dat+'
''
) THEN'+#10+
'
UPDATE'+#10+
'
Arbeitszeiten'+#10+
'
SET'+#10);
case Combobox1.ItemIndex
of
0:
sql.add('
B1 = '+inttostr(CBBeginn.ItemIndex)+#10+
'
E1 = '+inttostr(CBEnde.ItemIndex)+#10);
1:
sql.add('
B2 = '+inttostr(CBBeginn.ItemIndex)+#10+
'
E2 = '+inttostr(CBEnde.ItemIndex)+#10);
2:
sql.add('
B3 = '+inttostr(CBBeginn.ItemIndex)+#10+
'
E3 = '+inttostr(CBEnde.ItemIndex)+#10);
3:
sql.add('
B4 = '+inttostr(CBBeginn.ItemIndex)+#10+
'
E4 = '+inttostr(CBEnde.ItemIndex)+#10);
4:
sql.add('
B5 = '+inttostr(CBBeginn.ItemIndex)+#10+
'
E5 = '+inttostr(CBEnde.ItemIndex)+#10);
end;
sql.add('
WHERE'+#10+
'
Datum = date''
'+dat+'
''
;'+#10+
'
ELSE'+#10+
'
INSERT INTO Arbeitszeiten'+#10+
'
(B1,B2,b3,b4,b5,e1,e2,e3,e4,e5)'+#10+
'
VALUES'+#10+
'
(:b1,:b2,:b3,:b4,:b5,:e1,:e2,:e3,:e4,:e5);'+#10+
'
);');
with Params
do
begin
ParamByName('
b1').AsInteger:=0;
ParamByName('
e1').AsInteger:=0;
ParamByName('
b2').AsInteger:=0;
ParamByName('
e2').AsInteger:=0;
ParamByName('
b3').AsInteger:=0;
ParamByName('
e3').AsInteger:=0;
ParamByName('
b4').AsInteger:=0;
ParamByName('
e4').AsInteger:=0;
ParamByName('
b5').AsInteger:=0;
ParamByName('
e5').AsInteger:=0;
case Combobox1.ItemIndex
of
0:
begin
ParamByName('
b1').AsInteger:=CBBeginn.ItemIndex*5+1;
ParamByName('
e1').AsInteger:=CBEnde.ItemIndex*5+1;
end;
1:
begin
ParamByName('
b2').AsInteger:=CBBeginn.ItemIndex*5+1;
ParamByName('
e2').AsInteger:=CBEnde.ItemIndex*5+1;
end;
2:
begin
ParamByName('
b3').AsInteger:=CBBeginn.ItemIndex*5+1;
ParamByName('
e3').AsInteger:=CBEnde.ItemIndex*5+1;
end;
3:
begin
ParamByName('
b4').AsInteger:=CBBeginn.ItemIndex*5+1;
ParamByName('
e4').AsInteger:=CBEnde.ItemIndex*5+1;
end;
4:
begin
ParamByName('
b5').AsInteger:=CBBeginn.ItemIndex*5+1;
ParamByName('
e5').AsInteger:=CBEnde.ItemIndex*5+1;
end;
end;
end;
execsql;
Form1.SQLTransaction1.Commit;
end;