Delphide ClientDataSet Kullanımı ve Kayıt İşlemleri
Merhaba arkadaşlar bu makalemizde ClientDataSet kullanımına bakacağız. ClientDataSet kullanarak veritabanına kayıt girişi yapabiliyoruz. Ayrıca yine ClientDataSet kullanarak cds uzantılı veritabanından verileri alabiliyoruz.
Formumuza Data Controls kısmından 1 adet DBGrid DataSource ekleyin. Ayrıca Şekil1 deki gibi Edit ve butonu formunuza ekleyin.
ClientDataSet e sağ tıklayalım. Açılan pencerede Fields Editor e tıklayalım. Açılan pencerede sağ tıklayarak gerekli sütunları ekleyelim.
Şekil 1
Şekil 2
Şimdi tekrar ClientDataSet e sağ tıklayalım. Save to Binary MyBase File kısmından cds dosyasını kaydedeceğimiz yeri belirliyoruz.
Şekil 3
Editlere girdiğimiz verileri cds uzantılı veritabanımıza kayıt işlemini gerçekleştiriyoruz.
Şekil 4
Şekil 5
unit sql_client_Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Datasnap.DBClient,
Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
btnSave: TButton;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
ClientDataSet1Id: TStringField;
ClientDataSet1Name: TStringField;
ClientDataSet1Surname: TStringField;
ClientDataSet1Contact: TStringField;
procedure FormCreate(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnSaveClick(Sender: TObject);
var
i,j:integer;
ID: string;
begin
with ClientDataSet1 do begin
if ClientDataSet1.Active then ClientDataSet1.Close;
Open;
Append;
//InsertRecord metodu ile toplu bir sekilde kaydedebiliriz.
//ClientDataSet1.InsertRecord([Edit1.Text,Edit2.Text,Edit3.Text,Edit4.Text]);
FieldByName('Id').AsString := Edit1.Text;
FieldByName('Name').AsString := Edit2.Text;
FieldByName('Surname').AsString := Edit3.Text;
FieldByName('Contact').AsString := Edit4.Text;
Post;
//kayit sayisini aliyoruz.
j:=DBGrid1.DataSource.DataSet.RecordCount;
Edit1.Text:=inttostr(j);
//girilen verileri cds veritabanimiza kaydediyoruz.
ClientDataSet1.SaveToFile('D: \person.cds');
//veritabanimizdan verileri aliyoruz.
ClientDataSet1.LoadFromFile('D:\ person.cds');
Edit1.Text:=inttostr(j+1);
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='@';
//sutun font boyutunu ayarliyoruz.
for i := 0 to DBGrid1.Columns.Count-1 do
begin
DBGrid1.Columns[i].Title.Font.Size:=14;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientDataSet1.LoadFromFile('D: \person.cds');
Edit1.Text:=inttostr(DBGrid1.DataSource.DataSet.RecordCount +1);
end;
end.
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN