Delphi de Veritabanı İşlemleri-2 ( First, Prior, Next, Last )
Merhaba arkadaşlar bu makalemizde DBGrid nesnesine girilen kayıtlar arasında gezinti yapacağız. Bir önceki kayıt, bir sonraki kayıt, ilk ve son kayıtlara butona tıklayarak ulaşacağız. DBEdit nesnelerinde de kayıtlarımızın gösterimini sağlayacağız.
Delphi de veritabanına nasıl kayıt eklenir? Eklenen kayıtlar ile ilgili Edit, Update,Delete,Search işlemleri konusunu daha önceki makalede anlatmıştım. Önceki makaleye ulaşmak için Buraya tıklayabilirsiniz.
Formumuza 3 adet DBEdit, 4 adet Button, 3 adet Label, 1 adet DBGrid nesnesi ve sonrasında 1 adet DataSource ve ADOTable ekliyoruz. ADOTable nesnesinin ConnectionString kısmından Access veritabanımızı seçiyoruz.
Yine ADOTable nesnesinin TableName kısmından tablomuzu seçiyoruz. Bu örnekte tablomuzun ismi “Musteri” şeklindedir.
Şekil 1
unit dbgrid_adotable_Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.Grids,
Vcl.DBGrids, Vcl.StdCtrls, Vcl.Mask, Vcl.ExtCtrls, Vcl.DBCtrls;
type
TColorDBGrid = Class(TCustomDBGrid);
TForm1 = class(TForm)
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
btnFirst: TButton;
btnPrior: TButton;
btnNext: TButton;
btnLast: TButton;
lblId: TLabel;
lblName: TLabel;
lblSurname: TLabel;
procedure btnNextClick(Sender: TObject);
procedure btnFirstClick(Sender: TObject);
procedure btnPriorClick(Sender: TObject);
procedure btnLastClick(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnFirstClick(Sender: TObject);
begin
ADOTable1.First;
end;
procedure TForm1.btnLastClick(Sender: TObject);
begin
ADOTable1.Last;
end;
procedure TForm1.btnNextClick(Sender: TObject);
begin
ADOTable1.Next;
end;
procedure TForm1.btnPriorClick(Sender: TObject);
begin
ADOTable1.Prior;
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with TColorDBGrid(Sender) do begin
if DataLink.ActiveRecord = Row - 1 then begin
Canvas.Brush.Color := clLime;
Canvas.Font.Color := clFuchsia;
end
else begin
Canvas.Brush.Color := clWindow;
Canvas.Font.Color := clWindowText;
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end.
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN