You are on page 1of 6

. Wyświetlanie rekordów (SELECT * FROM...

2. Dodawanie rekordów (INSERT into...)

 
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';

   with IBQuery1, SQL do begin


    Close;
     Clear;

2
     Add('SELECT * FROM Your_table ORDER BY '+wartosc+';');
    Open;
   end;  
end;
 

    10. Tworzenie pola z autonumeracją (Calculated) - przydatne, gdy chcemy


9. Wyświetlanie rekordów dowolnego zasięgu (BETWEEN...And)
mieć pole z liczbą porządkową "LP."

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;

11. Wpisywanie danych  


12. Ilość rekordów
z zaznaczonego rekordu
w tabeli
do Editów

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;
 

  13. Ilość rekordów, w których dane pole posiada  


14. MAX wartość z danego pola
wartość

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;  

19. Autonumeracja (autoincrement) pola "LP" z  


   
Primary Key 
i NOT NULL

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;
 

You might also like