| using System;
using System.Data.SqlClient;
namespace Veriler /* Sınıfımız Veriler isimli isim uzayında yer alıyor. Çoğu zaman aynı isme sahip sınıflara sahip olabiliriz. İşte bu gibi durumlarda isim uzayları bu sınıfların birbirinden farklı olduğunu anlamamıza yardımcı olurlar.*/
{
public class Veri /* Sınıfımızın adı Veri */
{
/* İzleyen satırlarda alan tanımlamalarının yapıldığını görmekteyiz. Bu alanlar private olarak tanımlanmıştır. Yani sadece bu sınıf içerisinden erişilebilir ve değerleri değiştirilebilir. Bu alanları tanımladığımız özelliklerin değerlerini tutmak amacıyla tanımlıyoruz. Amacımız bu değerlere sınıf dışından doğrudan erişilmesini engellemek.*/
private string SunucuAdi;
private string VeritabaniAdi;
private string Kullanici;
private string Parola;
private SqlConnection Kon; /* Burada SqlConnection tipinden bir değişken tanımladık. */
private bool BaglantiDurumu; /* Sql sunucumuza olan bağlantının açık olup olmadığına bakıcağız.*/
private string HataDurumu; /* Sql sunucusuna bağlanırken hata olup olmadığına bakacağız.*/
/* Aşağıda sunucu adında bir özellik tanımladık. Herbir özellik, get veya set bloklarından en az birini içermek zorundadır. */
public string sunucu /* public tipteki üyelere sınıf içinden, sınıf dışından veya türetilmiş sınıflardan yani kısaca heryerden erişilebilmektedir.*/
{
get
{
return SunucuAdi; /* Get ile, sunucu isimli özelliğe bu sınıfın bir örneğinden erişildiğinde okunacak değerin alınabilmesi sağlanır . Bu değer bizim private olarak tanımladığımız SunucuAdi değişkeninin değeridir. */
}
set
{
SunucuAdi=value; /* Set bloğunda ise, bu özelliğe, bu sınıfın bir örneğinden değer atamak istediğimizde yani özelliğin gösterdiği private SunucuAdi alanının değerini değiştirmek için kullanırız. Özelliğe sınıf örneğinden atanan değer, value olarak taşınmakta ve SunucuAdi alanına aktarılmaktadır.*/
}
}
public string veritabani
{
get
{
return VeritabaniAdi;
}
set
{
VeritabaniAdi=value;
}
}
public string kullanici /* Bu özellik sadece set bloğuna sahip olduğu için sadece değer atanabilir ama içeriği görüntülenemez. Yani kullanici özelliğini bir sınıf örneğinde, Kullanici private alanının değerini öğrenmek için kullanamayız.*/
{
set
{
Kullanici=value;
}
}
public string parola
{
set
{
Parola=value;
}
}
public SqlConnection con /* Buradaki özellik SqlConnection nesne türündendir ve sadece okunabilir bir özelliktir. Nitekim sadece get bloğuna sahiptir. */
{
get
{
return Kon;
}
}
public bool baglantiDurumu
{
get
{
return BaglantiDurumu;
}
set /* Burada set bloğunda başka kodlar da ekledik. Kullanıcımız bu sınıf örneği ile bir Sql bağlantısı yarattıktan sonra eğer bu bağlantıyı açmak isterse baglantiDurumu özelliğine true değerini göndermesi yeterli olucaktır. Eğer false değeri gönderirse bağlantı kapatılır. Bu işlemleri gerçekleştirmek için ise BaglantiAc ve BaglantiKapat isimli sadece bu sınıfa özel olan private metodlarımızı kullanıyoruz.*/
{
BaglantiDurumu=value;
if(value==true)
{
BaglantiAc();
}
else
{
BaglantiKapat();
}
}
}
public string hataDurumu
{
get
{
return HataDurumu;
}
}
public Veri() /* Her sınıf mutlaka hiç bir parametresi olmayan ve yandaki satırda görüldüğü gibi, sınıf adı ile aynı isme sahip bir metod içerir. Bu metod sınıfın yapıcı metodudur. Yani Constructor metodudur. Bir yapıcı metod içersinde çoğunlukla, sınıf içinde kullanılan alanlara başlangıç değerleri atanır veya ilk atamalar yapılır. Eğer siz bir yapıcı metod tanımlamaz iseniz, derleyici aynen bu metod gibi boş bir yapıcı oluşturacak ve sayısal alanlara 0, mantıksal alanlara false ve string alanlara null başlangıç değerlerini atayacaktır.*/
{
}
/* Burada biz bu sınıfın yapıcı metodunu aşırı yüklüyoruz. Bu sınıftan bir nesneyi izleyen yapılandırıcı ile oluşturabiliriz. Bu durumda yapıcı metod içerdiği dört parametreyi alıcaktır. Metodun amacı ise belirtilen değerlere göre bir Sql bağlantısı yaratmaktır.*/
public Veri(string sunucuAdi,string veritabaniAdi,string kullaniciAdi,string sifre)
{
SunucuAdi=sunucuAdi;
VeritabaniAdi=veritabaniAdi;
Kullanici=kullaniciAdi;
Parola=sifre;
Baglan();
}
/* Burada bir metod tanımladık. Bu metod ile bir Sql bağlantısı oluşturuyoruz. Eğer bir metod geriye herhangibir değer göndermiyecek ise yani vb.net teki fonksiyonlar gibi çalışmayacak ise void olarak tanımlanır. Ayrıca metodumuzun sadece bu sınıf içerisinde kullanılmasını istediğimiz için private olarak tanımladık. Bu sayede bu sınıf dışından örneğin formumuzdan ulaşamamalarını sağlamış oluyoruz.*/
private void Baglan()
{
SqlConnection con=new SqlConnection(“data source=”+SunucuAdi+”;initial catalog=”+VeritabaniAdi+”;user id=”+Kullanici+”;password=”+Parola);
Kon=con;
}
/* Bu metod ile Sql sunucumuza olan bağlantıyı açıyoruz ve BaglantiDurumu alanına true değerini aktarıyoruz.*/
private void BaglantiAc() /* Bu metod private tanımlanmıştır. Çünkü sadece bu sınıf içerisinden çağırılabilsin istiyoruz. */
{
Kon.Open();
try
{
BaglantiDurumu=true;
HataDurumu=”Baglanti sağlandi”;
}
catch(Exception h)
{
HataDurumu=”Baglanti Sağlanamdı. “+h.Message.ToString();
}
}
/* Bu metod ilede Sql bağlantımızı kapatıyor ve BaglantiDurumu isimli alanımıza false değerini akatarıyoruz.*/
private void BaglantiKapat()
{
Kon.Close();
BaglantiDurumu=false;
}
}
} |
Yorumlar
Yorum Yok
Yorumunuzu Ekleyin
Yorum eklemek için giris yapmalısınız.