Yaz  Font K   lt Yaz  Font B y lt

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. 

 

Resim1

Ş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. 

 

Resim2

Ş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. 

 

Resim3

Şekil 3

 

Oarametreleri girdikten sonra Test butonuna tıklayalım.

 

Resim4

Şekil 4

 

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

 

Resim5

Şekil 5

 

Sonra Ok butonuna tıklayalım.

 

Login parametrelerini eğer doğru girdiysek, Connection established succesfully mesajını alacağız. 

 

Resim6

Ş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.

 

Resim7

Şekil 7

 

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

 

Resim8

Ş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

 

Resim9

Ş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 := to FDQuery1.RecordCount do

begin

slist.Add('');

FDQuery1.RecNo := i;

for j := to FDQuery1.Fields.Count - 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