Normal
Windows uygulamalarında kullandığımız veritabanı bağlantılarını artık
rahatlıkla
Console uygulamalarında kullanabiliriz.Visual Studio .NET ve C#
birlikteliğiyle
kodlarımızı platformdan bağımsız hale getirebilir, ister Web, ister
Windows
istersek de Console uygulaması olarak kullanabiliriz. Bu makalemizde
Visual
Studio .NET kitaplığını kullanarak bir Console uygulamasından
veritabanına bağlanıp
Console ekranına bir tablodaki bütün bilgileri
yazdıracağız.Makalemizdeki uygulamayı
ben Visual Studio da yazmama rağmen siz herhangi bir text editörünü
kullanarak
yazıp "csc" derleyicisi ile derleyebilirsiniz. Veritabanı olarak MS
SQL Server kullandım ama siz bağlantı "String" ini kullandığınız
veritabanına
göre düzenleyerek istediğiniz veritabanı ile çalışabilirsiniz. Eğer
Visual Studio
.NET kullanıyorsanız New->Project ten Visual C# Console
Application' seçerseniz
programımızın iskelet yapısını hazır olarak görebilirsiniz.
Programı yazarken System.Data.SqlClient "namespace" i altında bulunan
sınıflardan ve System.Text "namespace" inde bulunan StringBuilder
sınıfından yararlanacağız.
Programımızın
bütün kodları aşağıdaki gibidir.Satır aralarına ise size yardımcı
olacak bilgiler
vermeye çalıştım. Programı inceleyip çalıştırdıktan sonra .NET ve C#' a
eminim
bundan sonra başka gözle bakacaksınız :)
//Burasını açıklamaya gerek yok sanırım
using System;
namespace
ConsoleApplication1
{
class Class1
{
[STAThread]
//Programımız buradan çalışmaya başlıyor
static void Main(string[]
args)
{
//Bütün
işlemlerimizi bir "SqlCommand" nesnesi olan komut üzerinden
gerçekleştireceğiz.
Bunun için aşağıdaki satırda olduğu gibi bir komut nesnesi
tanımlıyoruz.
System.Data.SqlClient.SqlCommand
komut=
new
System.Data.SqlClient.SqlCommand();
//Komut nesnesine sql cümleciği
vermek için StringBuilder sınıfı ile sql_komut nesnesi oluşturuyoruz.
System.Text.StringBuilder
sql_komut=
new
System.Text.StringBuilder();
//Append metodu ile sql_komut
nesnesine sql cümleciğimizi yerleştiriyoruz.
sql_komut.Append("SELECT * FROM Employees");
//Bu
satırlarda komutumuzun sql ifadesini ve komut tipini belirliyoruz.
komut.CommandType=System.Data.CommandType.Text;
komut.CommandText=
new
sql_komut.ToString();
//Veritabanına bağlanma
hazırlıkları bittiğine göre artık bağlantı nesnesini
oluşturabiliriz.Aşağıdaki
gibi CsConn bağlantı nesnesi oluşturup MS Sql Server'a bağlanmak için
gerekli
yazıyı ConnectionString özelliğine atıyoruz.Bu metod ve özellikler
hakkında
MSDN kitaplığında detaylı bilgiyi bulabilirsiniz.Bunları burada
anlatarak makalemizin
konusunun dışına çıkmak istemedim.
System.Data.SqlClient.SqlConnection
CsConn=System.Data.SqlClient.SqlConnection();
CsConn.ConnectionString = "userid=sefer;password=;initial
catalog=Northwind;data source=localhost;Connect Timeout=500;";
//Komut
nesnemizin bağlantı özelliğine CsConn bağlantı nesnesini atayıp
bağlantımızı
açıyoruz.
komut.Connection=CsConn;
CsConn.Open();
//Veritabanına
bağlanıp kayıt bilgilerini almak için SqlDataReader sınıfını
kullanıyoruz. komut.ExecuteReader
dediğimizde istediğimiz bilgileri veritabınından çekmiş oluyoruz.
System.Data.SqlClient.SqlDataReader
Bilgiler=komut.ExecuteReader();
//SqlDataReader
'ın Read metodunu kullanarak bir döngü içinde bilgileri ekrana
yazdırıyoruz.Bilgiler
içindeki kayıtlar bittiğinde false değeri dönecektir.
while (Bilgiler.Read())
{
//Bilgiler kayıt kümesindeki Sutun adlarını yazarak istediğimiz
alanları ekrana yazdırıyoruz.
Console.WriteLine(Bilgiler["FirstName"]
+ " " + Bilgiler["Title"]);
}
//Eee artık
işimiz bitti, bağlantılarımızı rahatlıkla kapatabiliriz.
Bilgiler.Close();
CsConn.Close();
}
}
}