Başlangıç > Kodlar > Delphi.Net(2005) ile SQL server ile bağlantı bilgileri

Delphi.Net(2005) ile SQL server ile bağlantı bilgileri

Delphi dot nette VB veya C# kadar iyi ve profesyonel Delphiciler hadi dot nete başlıyalım herkesten kod bekliyorum..


Dot Net e giriş diyebileceğimiz kodlarlar işe başlamak istiyorum...

Öncelikle Bu nekadar doğru bilmiyorum ama ben sqlserver e kodla kısa yoldan bağlantıyı ve bir kaç sql ifadesinin

çalıştırılmasını gostereceğim.

İlk olarak Web.config dosyası içine baglantı cumlemizi yazıyoruz..

hemen   <configuration> yazan satırın altına alttaki kodu ekliyoruz..

<appSettings>
<add key="baglanti" value="workstation id=SERVER;packet size=4096;user id=sa ;password=;data source=server;persist security

info=False;initial catalog=ilk" />
</appSettings>

burda baglanti benim değişkenimin adı siz istediğinizi yaza bilirsiniz....

workstation id: çalışılan iş istasyonunun adı.
user id değiştirmediyseniz sa dır ..
data source datanın bulunduğu kaynak adı.
catalog ta veritabanının adı dır.
gerekli düzenlemeleri yapabilirsiniz yada stringi bir sqlconnection bileşeni ekleyip onun üzerinden hazırlayabilirsiniz ama

gerek olucağını sanmıyorum...

daha sonra çalıştığımız dosyaya donuyoruz...

burda

System.Data.SqlClient,System.Configuration
terimlerini uses bolumune ekliyoruz....

genel var bolumunde aşağıdaki tanımlamaları yapıyoruz..

bag:sqlconnection;
dt:datatable;
ac:sqldataadapter;
ds:dataset;
ct:sqlcommand;
bagla:string;

Page_load procedure une
bagla:=configurationsettings.appsettings['baglanti'];
ekliyoruz...
bu sayede butun sayfalarda aynı bağlantı cumlesini kullanmış oluyoruz...

sayfaya bir tane datagrid ekliyoruz...

Altta ornek bir butonun onclik inde select sql sorgusu var...

procedure TWebForm1.Button3_Click(sender: System.Object; e: System.EventArgs);
var
str:string;
i:integer;

begin
str:='select * from table1';
dt:=datatable.Create; // dt yi oluşturuyoruz..
bag:=sqlconnection.Create(bagla); // sql bağlantımızı oluşturuyoruz.. Bu sunucuya bağlantıyı sağlıyor
ac:=sqldataadapter.Create; // sql adapter imizi oluşturuyoruz. Bu verileri command nesnesi ile alıp tablolara aktarmamıza

yarıyor
ct:=sqlcommand.Create(str); // bu sql ifadelerimiz çalıştıran bileşen oluyor..
ac.selectCommand:=ct; // burda adatterun hangi ifadesini kullanıcağımızı belirtiyoruz. Select ifadesine atanıyorcommand

nesnesi
ct.Connection:=bag; // Komutu işlemek için kullanılacak bağlantı connad nesnesine atanıyor.
bag.Open; // Bağlantı nesnesi açılıyor
ct.ExecuteNonQuery; // burda command nesnesinin komutu çalıştırması sağlanıyor.
datagrid1.DataSource:=dt; // datagridin veri kaynağı belirtiliyor.
ac.Fill(dt); // Burası onemli. Veriler tabloya burda adapter yardımı ile atanıyor. Fill komutu bu iş için kullanılıyor
datagrid1.DataBind; //Burdada datagrid verileri kendi içine çakip ekrana yazdırıyor.
for i:=0 to dt.Rows.Count-1 do // burdada verileri ekrana gridle değilde kodla yazılışı kodlanıyor.
//row.count bize kaçtane kayıt olduğu bilgisini veriyor ama kayıtlar sıfırdan başladığı için bir çıkarılıyor
begin
response.write(dt.Rows[i][0].ToString); //burda i `inci kayıtın sıfırıncı colunundaki bilgi alınıyor.İkinci sakam alanın
// sırasını veriyor. Yani kayıtın ilk alanısıfır indexli kayıt diğerleri yanyana sırayla aktarılıyor.
response.write(' ');
response.write(dt.Rows[i][1].ToString);
response.write(' ');
response.write(dt.Rows[i][2].ToString);
response.write('<br>');
// response.write komutu ekrana yazan komut asp bilenler bu komuta aşinadır.
// burda daha kolay bir yol var oda datareader kullanmak onuda aşağıdaanlatacağım.
end;

bag.Close;

end;

//Şimdide Verileri ekrana yazdırmanın farklı bir yolunu işleyelim
//datareaderla kodlar dahada basit olucak

var
bag:sqlconnection;
cmd :sqlcommand;
red:sqldatareader;
begin
bag:=sqlconnection.Create('workstation id=SERVER;packet size=4096;user id=sa ;password=;data source=server;persist security

info=False;initial catalog=2007');

// bağlantı nesnesini bu şekildede oluştura bilirsiniz ama buyuk projelerde tavsiye etmem. Zira değiştirmek gerekince hepsini

//tek tek değiştirmeniz gerekecek.

cmd:=sqlcommand.Create('select * from table1');
cmd.Connection:=bag;
bag.Open;
red:=cmd.ExecuteReader;// burda execnonquery yok sadece bu kod yeterli oluyor.
while(red.Read) do
begin
response.write(red['a']); // burdaki a alan adı ben adam gibi bir şey yazmamışım böyle absurd bir kod oldu :))
response.write(' ___ ');
response.write(red['s']);
response.write('<br>');

end;
bag.Close;
bag.Free;
end;

İnsert ifadesi için ornek kod...

procedure TWebForm1.Button2_Click(sender: System.Object; e: System.EventArgs);
var
str:string;
begin
str:='insert into table1 (adsoyad,kadi,sifre) values ("asd","dsasd","dsf")';
bag:=sqlconnection.Create(bagla);
ac:=sqldataadapter.Create;

ct:=sqlcommand.Create(str);
ac.InsertCommand:=ct;
ct.Connection:=bag;
bag.Open;
ct.ExecuteNonQuery;
bag.Close;
end;

update ifadesi için ornek kod...

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
str:string;
begin
str:='update table1 set adsoyad="doa" ';
bag:=sqlconnection.Create(bagla);
ac:=sqldataadapter.Create;

ct:=sqlcommand.Create(str);
ac.updateCommand:=ct;
ct.Connection:=bag;
bag.Open;
ct.ExecuteNonQuery;
bag.Close;
end;

Buraya kadar sql server a bağlantıyı anlattım. İlerki yazılarımda mdb access e bağlantı , odbc bağlantı gibi konularada
yavaş yavaş giricem. Ama piyasadaki tecrübelerime dayanarak soyleye bilirimki kendinizi oılabildiğince sql server kullanma

konnusunda yetiştirin. Hala eksiklerimolması dolayısıyla ben bu işte çok zorlandım. Şimdi biraz daha iyiye gidiyorum.

Herkesin bu konuya yonelmesini ve yaptıklarını bizimle paylaşacağını umuyorum...

Saygılarımla


Doğan Dağdelen
sakzu@hotmail.com


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: