MS SQL Veritabanına Bağlanarak Verileri CSV Olarak Kaydetmek
Merhaba arkadaşlar bu makalemizde FDConnection ile MS Sql veritabanına bağlanacağız. Ms Sql veritabanındaki tablodaki verileri DBGrid nesnesinde gösterimini sağlayacağız. İlk önce Formumuza Palette kısmından FDQuery, DataSource ve DBGrid ekleyin.
Sonra DataExplorer kısmında Msicrosoft SQL Server a sağ tıklayıp Add New Connection a tıklayacağız.

Şekil 1
Açılan pencerede bağlantı adını giriyoruz. Bu örnekte MSSQL bağlantı adı girdim. Bağlantımıza sağ tıklayıp Modify e bu sefer mousa sol tıklayalım.

Şekil 2
Açılan FireDAC Connection Editor kısmında MSSQL Server a bağlantımızı düzenleyeceğiz. Bu kısımda bağlanacığımız MS SQL Serverdaki database i ve şifresini ayrıca server in ismini gireceğiz.

Şekil 3
Oarametreleri girdikten sonra Test butonuna tıklayalım.

Şekil 4
FireDac Login penceresinden MS SQL Veritanına bağlanacağımız kullanıcı adı, şifresi ve databasinin profilini seçmemiz gerekiyor.

Şekil 5
Sonra Ok butonuna tıklayalım.
Login parametrelerini eğer doğru girdiysek, Connection established succesfully mesajını alacağız.

Şekil 6
Böylece MSSqlConnection bağlantı nesnemizi oluşturduk.
Object Inspectorde FDQuery1 in Connection özelliğini MSSqlConnection (FDConnection1) ayarlayın. Yine FDQuery1 in SQL sekmesine tıklayın. Açılan String List Editor kısmına Sql kodunuzu yazıp OK butonuna tıklayın.
DataSource1 nesnesini seçip DataSet özelliğini FDQuery1 ayarlayalım. Son olarak DBGrid1 nesnesinin DataSource özelliğini DataSource1 yapalım.
Şimdi formumuzu çalıştıralım. Aşağıdaki gibi ekran görüntümüz olacak.

Şekil 7
Şimdi DBGrid nesnesinde görüntülediğimiz verileri Save butonuna tıklayarak CSV olarak kaydedeceğiz.

Şekil 8
CSV dosyasını açtığımızda MSSql Server Veritabanındaki verilerin başarılı bir şekilde CSV dosyasına kaydedildiğini göreceğiz

Şekil 9
unit fd_Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.FMTBcd, Data.DB, Data.DBXMSSQL,
Data.SqlExpr, Vcl.Grids, Vcl.DBGrids, Data.Win.ADODB, 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.StdCtrls;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
MssqlConnection: TFDConnection;
FDQuery1: TFDQuery;
btnSave: TButton;
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;
slist: TStringList;
filename:string;
begin
slist := TStringList.Create;
filename:='D:\Data\worldclassics.csv';
try
FDQuery1.Active := True ;
FDQuery1.First;
for i := 1 to FDQuery1.RecordCount do
begin
slist.Add('');
FDQuery1.RecNo := i;
for j := 0 to FDQuery1.Fields.Count - 1 do
slist[slist.Count - 1] := slist[slist.Count - 1] + FDQuery1.Fields[J].AsString + ';';
end;
//FDQuery1.Active := True ;
slist.SaveToFile(filename);
messagedlg('Dosya : '+fileName +' kaydedildi.' +chr(10)+chr(13)+ 'The file was saved successfully' , mtInformation,[m
FDQuery1.DisableControls;
finally
FDQuery1.EnableControls;
end;
end;
end.
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN