Professional Documents
Culture Documents
procedure TForm1.Button1Click(Sender: TObject); procedure TForm1.Button1Click(Sender: TObject);
begin begin
with IBQuery1, SQL do with IBQuery1, SQL do
begin begin
Close; Close;
Clear; Clear;
Add('SELECT * FROM Your_table'); Add('INSERT INTO Your_table (Pole1, Pole2, Pole3) VALUES (:P1, :P2, :P3)');
Open; ParamByName('P1').AsInteger:=StrToInt(Edit1.Text);
end; ParamByName('P2').AsString:=Edit2.Text;
end; ParamByName('P3').AsString:=Edit3.Text;
ExecSQL;
IBTransaction1.Commit;
end;
end;
3. Usuwanie rekordów (DELETE...) 4. Usuwanie całej zawartości tabeli (DELETE FROM...)
procedure TForm1.Button1Click(Sender: TObject);
begin procedure TForm1.Button1Click(Sender: TObject);
with IBQuery1, SQL do begin
begin with IBQuery1, SQL do
Close; begin
Clear; Close;
Add('DELETE FROM Your_table WHERE ID = :id'); Clear;
ParamByName('id').AsInteger :=StrToInt(Edit1.text); Add('DELETE FROM Your_table');
ExecSQL; ExecSQL;
IBTransaction1.Commit; IBTransaction1.Commit;
end; end;
end; end;
5. Edytowanie rekordów (Update...) 6. Suma wartości w danym polu (wynik w komponencie Edit)
procedure TForm1.Button1Click(Sender: TObject);
var {
id:integer; IBQuery1 jest do wyświetlania, usuwania, edytowania bazy. IBQuery2 dodałem, aby
był przeznaczony
begin do zadań specjalnych, jak np. sumowanie danych w dowolnym polu tabeli.
1
id:=IBQuery1.Fields[0].AsInteger;
with IBQuery1, SQL do }
begin
Close; procedure TForm1.Button1Click(Sender: TObject);
Clear; begin
Add('UPDATE Your_table SET Imie =:imie, Nazwisko =:nazwisko, with IBQuery1, SQL do
Data_Ur=:data_ur, Adres=:adres, Telefon=:telefon WHERE id = '+IntToStr(id)'); begin
Close;
ParamByName('imie').AsString := Edit1.Text; Clear;
ParamByName('nazwisko').AsString := Edit2.Text; Add('SELECT SUM (Pole1) FROM Your_table');
ParamByName('data_ur').AsString := Edit3.Text; Open;
ParamByName('adres').AsString := Edit14.Text; Edit1.Text:=IBQuery1.Fields[0].AsString;
ParamByName('telefon').AsString := Edit5.Text; end;
ExecSQL; end;
IBTransaction1.Commit;
//czyszczenie Editów po dodaniu rekordu do bazy
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
end;
end;
7. Sortowanie rekordów po kliknięciu na tytuł pola 8. Filtrowanie rekordów wg. dowolnej wartości w danym polu
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var procedure TForm1.Button1Click(Sender: TObject);
atrybut, wartosc: string; begin
with IBQuery1, SQL do
begin begin
atrybut:=Column.Title.Caption; Close;
if atrybut='ID' then wartosc:='NR_ID'; Clear;
if atrybut='LP' then wartosc:='LP'; Add('SELECT * FROM Your_table WHERE Nazwisko = :nazw');
if atrybut='IMI? then wartosc:='IMIE'; ParamByName('nazw').AsString :='Kowalski';
if atrybut='NAZWISKO' then wartosc:='NAZWISKO'; Open;
if atrybut='DATA URODZENIA' thenwartosc:='DATA_UR'; end;
if atrybut='ADRES' then wartosc:='ADRES';
if atrybut='TELEFON' then wartosc:='TELEFON';
2
Add('SELECT * FROM Your_table ORDER BY '+wartosc+';');
Open;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with IBQuery1, SQL do
begin
Close;
Clear;
Add('SELECT * FROM Your_table WHERE Data_ur BETWEEN :Data_Ur
and :Data_Ur2');
ParamByName('Data_Ur').AsDate:=StrToDate(Edit1.Text);
ParamByName('Data_Ur2').AsDate:=StrToDate(Edit2.Text);
Open;
end;
end;
procedure TForm1.DBGrid1CellClick(Column:
TColumn); procedure TForm1.Button1Click(Sender: TObject);
begin begin
if IBQuery1.RecordCount>0 then with IBQuery1, SQL do
3
begin
Edit1.Text:=IBQuery1.Fields[0].AsString; begin
Edit2.Text:=IBQuery1.FieldValues['Pole2']; Close;
Edit3.Text:=IBQuery1.FieldValues['Pole3']; Clear;
Edit4.Text:=IBQuery1.FieldValues['Pole4']; Add('SELECT COUNT (*) FROM Your_table');
Edit5.Text:=IBQuery1.FieldValues['Pole5']; Open;
Edit6.Text:=IBQuery1.FieldValues['Pole6']; Edit1.Text:=IBQuery1.Fields[0].AsString;
end end;
else end;
if IBQuery1.RecordCount=0 then
if Application.MessageBox('Musisz dodać nowy
rekord do bazy.','Brak danych w bazie',
MB_IconInformation orMB_OK)=IDOK then.....
end;
procedure TForm1.Button1Click(Sender: TObject);
begin procedure TForm1.Button1Click(Sender: TObject);
with IBQuery1, SQL do begin
begin with IBQuery1, SQL do
Close; begin
Clear; Close;
Add('SELECT COUNT (Pole1) FROM Clear;
Your_table'); Add('SELECT MAX (Pole1) FROM Your_table');
Open; Open;
Edit1.Text:=IBQuery1.Fields[0].AsString; Edit1.Text:=IBQuery1.Fields[0].AsString;
end; end;
end; end;
15. MIN wartość z danego pola 16. Średnia wartość z danego pola
procedure TForm1.Button1Click(Sender: TObject);
begin //Pole Pole_liczbowe jest typu Double Precision
with IBQuery1, SQL do procedure TForm1.Button1Click(Sender: TObject);
begin begin
Close; with IBQuery1, SQL do
Clear; begin
Add('SELECT MIN (Pole1) FROM Your_table'); Close;
Open; Clear;
Edit1.Text:=IBQuery1.Fields[0].AsString; Add('SELECT AVG(Pole_liczbowe) FROM Your_table');
4
end;
end; Open;
end;
Edit1.Text:=FloatToStrF(IBQuery1.Fields[0].AsFloat, fffixed,10,2);
//średnia z dwoma miejscami po przecinku
end;
with IBQuery1, SQL do
begin
Close;
Clear;
Add('SELECT * FROM Your_table');
Open;
end;
end;
17. Sumowanie dowolnych wartości w danym 18. Wyszukiwanie rekordów wg. dowolnego słowa lub jego części
polu (wynik w komponencie Edit) (LIKE)
procedure TForm1.Button1Click(Sender: TObject);
begin procedure TForm1.Button1Click(Sender: TObject);
with IBQuery1, SQL do begin
begin with IBQuery1, SQL do
Close; begin
Clear; Close;
Add('SELECT SUM (Pole1) FROM Your_table Clear;
WHERE Pole1 in (23, 145)'); Add('Select * from Nowa where Kwota like :nazw');
Open; ParamByName('nazw').AsString := '%'+Edit1.Text+'%';
Edit1.Text:=IBQuery1.Fields[0].AsString;//podaje Open;
wynik = 168 end;
end; end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with IBQuery1, SQL do
begin
Close;
Clear;
Add('SELECT MAX (LP) FROM Your_table');
5
Open;
Edit1.Text:=IntToStr(IBQuery1.Fields[0].AsInteger +
1); //dodaj 1 do maksymalnej wartości w polu LP i
wpisz do Edit
end;
end;