Yaz  Font K   lt Yaz  Font B y lt

DBGrid Nesnesinde Lookup Metoduyla Arama Yapmak

 

Merhaba arkadaslar bu makalemizde Delphi de Edit e girilen veriyi Lookup metodunu kullanarak DBGrid nesnesinde arama yapacağız. 

Formumuza 1 adet DBGrid, Edit, Button ve GroupBox ekliyoruz. Ayrica Palette kismindan 1 adet FDQuery, FDConnection ve DataSource ekliyoruz.

 

Bu örneğimizde MS SQL veritabanımızdaki Customer tablosuna bağlanacağız. İlk önce

FDConnection a sağ tıklayalım. Açılan pencerede Connection Editor’ e tıklayalım. Driver ID kısmından MSSQL Database i seçelim. Aşağıdaki şekilde gösterildiği gibi database imizi. SQL Database bağlandığımızdaki kullanıcı adı ve şifremizi ve Server imizin ismini ilgili yerlere girelim. Sonra Test butonuna tıklayalım. Prifile kısmında Database imizi seçip Ok butonuna tıklayalım. Aşağıdaki şekildeki gibi  “Connection established successfully ” mesajını aldığımızda Database e başarılı bir şekilde bağlanmış olduk.

 

Şimdi FDQuery seçiliyken Object Inspector kısmından SQL e tıklayalım ve buraya Sql sorgulama kod parçasını yazalım. Bu örnekte Sql sorgu kodu “Select * from dbo.customer” şeklindedir. Connection kısmından FDConnection u seçelim. Sonra DataSource seçelim. Object Inspector kısmından DataSet kısmını FDQuery seçelim. 

Şimdi DBGrid nesnesini seçelim. Object Inspector kısmından Datasource özelliğini DataSource1 seçelim.

En son olarak FDConnection Connected özelliğini True, FDQuery in Active özelliğini True yapalım.

 

 

Resim1

Sekil 1

 

 

Resim2

Sekil 2

 

 

Resim3

Sekil 3

 

 

Resim4

Sekil 4

 

 

Resim5

Sekil 5

 

 

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.Param, FireDAC.Stan.Error, FireDAC.DatS,

FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt,

FireDAC.UI.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Phys,

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

FireDAC.Comp.Client, FireDAC.Comp.DataSet, Vcl.StdCtrls, Vcl.Grids,

Vcl.DBGrids;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit1: TEdit;

btnSearch: TButton;

FDConnection1: TFDConnection;

DataSource1: TDataSource;

FDQuery1: TFDQuery;

procedure btnSearchClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnSearchClick(Sender: TObject);

var

search:variant;

begin

search:=FDQuery1.Lookup('Company',Edit1.Text,'Addr1;City;Zip;Country');

if VarIsNull(search) Then //boş sa

ShowMessage('No records found!'+#13#10+'Kayıt Bulunamadi!')

else

ShowMessage('Adress='+search[0]+#13#10+'City='+search[1]

+#13#10+'Zip='+search[2]

+#13#10+'Country='+search[3]);

end;

end.

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede gorusmek uzere. Bahadir SAHIN