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
0 comments:
Yorum Gönder