Yaz  Font K   lt Yaz  Font B y lt

FireDAC Kismindan MS Sql Veritabanina Baglanmak 

 

Merhaba arkadaþlar bu makalemizde Data Explorer penceresinde bulunan FireDAC altindaki Microsoft SQL Server dan baglanti nasil yapiliri anlatacagim.

Data Explorer penceresinde ilk once Microsoft SQL Server klasorune sag tiklayip, Add New Connection týklayalim.

 

 

Resim1

Sekil 1

 

 

Sonra baglanti ismini yazip OK butonuna tiklayalim.

 

Resim2

Sekil 2

 

Acilan FireDAC Connection Editor penceresini asagidaki gibi dolduralim. Burada Encrypt kismini No seciniz. Sonra Yukarida solda bulunan Test butonuna tiklayalim.

 

Resim3

Sekil 3

 

NOT: Eger baglantida hata olursa SQL Server Management Surumu 19 olabilir. Bu durumda asagidaki linkten Ole DB yi download ederek bilgisayariniza kurmaniz gerekebilir. 

Download Microsoft OLE DB Driver for SQL Server

 

https://learn.microsoft.com/en-us/sql/connect/oledb/download-oledb-driver-for-sql-server?view=sql-server-ver16

 

 

Test kisminda asagidaki gibi bir ekran gelmelidir. Burada OK tusuna basiniz.

 

Resim4

Sekil 4



 

 

“Connection established successfully” mesaji geldiyse, Sql veritabanina basarili bir sekilde baglanmis oldunuz.

 

 

Resim5

Sekil 5

 

Data Explorer penceresinde Microsoft SQL Server klasoru altinda tablonuz basarili bir sekilde oluþtu.

 

 

Resim6

Sekil 6

 

 

Tablo uzerinden formunuza surukle birak metoduyla connection ve table nesnelerinizi asagidaki gibi olusturun.

 

 

Resim7

Sekil 7

 

Object Inspector kismindan tablonuzu secin baglanti ve active durumunu asagidaki gibi yapiniz.

 

 

Resim8

Sekil 8



 

Object Inspector kismindan Connection nesnesinin Connected ozelligini True yapiniz.

 

 

Resim9

Sekil 9

 

Palette kýsminda formunuza DataSource ekleyiniz. Object Inspector kismindan Datasource un DataSet ozelligini Tablonuza ilisiklendiriniz.

 

 

Resim10

Sekil 10

 

Palette kýsminda formunuza DBGrid ekleyiniz. Object Inspector kismindan Datasource kisminda formunuza daha once eklediginiz DataSource nesnesini ilisiklendiriniz.

 

 

Resim11

Sekil 11

 

Projemizi calistirdigimizda ekranda asagidaki gibi bir cikti alacagiz.

 

 

Resim12

Sekil 12

 

 

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, FireDAC.Stan.Intf,

FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf,

FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys,

FireDAC.Phys.MSSQL, FireDAC.Phys.MSSQLDef, FireDAC.VCLUI.Wait,

FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,

FireDAC.Comp.DataSet, FireDAC.Comp.Client, Vcl.Grids, Vcl.DBGrids;

type

TColorDBGrid = Class(TCustomDBGrid);

TForm1 = class(TForm)

DBGrid1: TDBGrid;

StaffConnection: TFDConnection;

DataSource1: TDataSource;

StaffTable: TFDQuery;

procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

var

w:integer;

begin

w := 5+DBGrid1.Canvas.TextExtent(Column.Field.DisplayText).cx;

if w>column.Width then Column.Width := w;

with TColorDBGrid(Sender) do begin

if DataLink.ActiveRecord = Row - 1 then begin

Canvas.Brush.Color := clRed;

Canvas.Font.Color := clWhite;

Canvas.Font.Size:=13;

Canvas.Font.Style:=[fsBold];

end

else begin

Canvas.Brush.Color := clWindow;

Canvas.Font.Color := clWindowText;

end;

DefaultDrawColumnCell(Rect, DataCol, Column, State);

end;

end;

procedure TForm1.FormActivate(Sender: TObject);

var

i:integer;

begin

for I := 0 to DBGrid1.Columns.Count - 1 do

DBGrid1.Columns[i].Width := 5 + DBGrid1.Canvas.TextWidth(DBGrid1.Columns[i].title.caption)

end;

end.

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüþmek üzere. Bahadýr ÞAHÝN