Klavye Kırıntıları
C#’da Connectingstring ve Veritabanı bağlantısı
Uzun bir zaman önce C#’a ağırlık verdim ve yazılarım olacak dedim ancak iş ve ev değişikliği vb. sebeplerle öğrendiklerimi paylaşamadım.
Yazdıklarım kesinlikle makale niteliğinde değil. Sadece başlangıç seviyesi için makalelerde üzerinde durulmadığına inandığım noktaları vurgulayacağım. Ben bu noktalarda biraz sorun yaşadım çünkü
.
.Net 2 ile gelen yenilikler ile makalelerdeki code behind(arka plan) tarafındaki kodlara artık pek yer verilmiyor. Ancak bir çok projede bu tarafta kod yazmamız gerekiyor.
Öncelikle yeni gelen sistemi kısaca gözden geçirelim :
Mssql’e bağlantı için yapmamız gereken tekşey Data>SqlDataSource‘ u seçmek ve bir kaç adım sonrasında bağlantımız sağlanmış olacaktır. Sonrasında sayfamıza birde Data>GridView eklememiz gerekmektedir. Adımların açıklamalı resimleri aşağıda; 
Bir sonraki resimde projemize bir SqlDataSource’u nasıl ekleyeceğimizi görebilirsiniz 
Projemize bir veritabanını tanıttıktan sonra ki adımları aşağıdaki resimde görebilirsiniz 
Yukarıdaki adımları tamamladıktan sonra veritanımızı ve Datasetimizi hazırlamış oluyoruz. Şimdi ise yapmamız gereken tekşey GridView’in datasource’nun SqlDataSource olduğunu göstermek. Bu işlem şimdiye kadar yaptığımız tüm işlemlerden daha basit (öncekilerde basitti ancak bu en basiti
)
Bu işlemide tamamladığımız anda artık sayfamız hazır.Görüntüsüde aşağıdaki gibi

Peki bu yolu seçmek bize ne kazandırır?
- Öncelikle zaman kazandırır
- Çok rahat bir şekilde sayfalama
- Her kritere göre sıralama
- Düzenleme ve silme işlemleri
Tüm bu işlemleri yaparken 1 tek satır bile kod yazmamıza gerek yokken neden kendimiz yazmayı yercih etmeliyiz peki?
Ne olursa olsun iyi bir yazılımcı olmanın yolu, iyi bir yazılım mimarisine uygun olarak yazmaktan geçer. Buradaki mimari microsoft mimarisi olmakla birlikte kendinizden hiçbirşey katmamış oluyorsunuz.
Peki hiç kullanmayacakmıyız?
Tabiiki kullanacağız ancak sadece gerektiği zamanlarda. Hazırcı olsakta zorda kaldığımız zaman ne yapacağımızı bilmemiz gerekmektedir. Mesela bir kayıt ekleme aşamasında sağlıklı bir işlem için string kontrollerini ve sql bağlantılarını bilmemiz gerektiğine inanıyorum.
Şimdi bu işlemleri birde code behind tarafına uygun olarak yapalım.
Öncelikle web.config içine server’ımızı tanımlayalım
Bu işlemden sonra web sayfamıza bir adet GridView ekleyelim ve F7‘ye basarak sayfamızın code behind tarafına geçelim.
Öncelikle sayfamızın en üstüne “using Systems.Data.SqlClient;” i ekleyerek sayfamızda veritabanı bağlantımızda sqlkullanacağımızı belirtiyoruz.
Sayfamızın yüklendiği zamanda yapacağı işlemleri öncelikle yazı ile kısaca anlatmaya çalışacağım.
Öncelikle veritabanı bağlantısı için web.config içine tanımladığımız connectionstring‘i bir string‘e atıyoruz.Bu işlem için ConfigurationManager‘ı kullandığımıza dikkat edin.
Connectionstring’imizi hazırladıktan sonra sırada SqlConnection tanımlamak geliyor.
string conStr = ConfigurationManager.ConnectionStrings[”connectionServer”].ConnectionString.ToString();
Bu işlemi bir class içinde tanımlamakta mümkün tabii ki. Bir proje hazırlıyorsanız bu daha mantıklı tabii ki. Class tarafındaki kodumuz şöyle;
public class baglanti
{
public static string Baglan()
{
return ConfigurationManager.ConnectionStrings[”HysSqlString”].ConnectionString.ToString();
}
}
Kullanımına gelince ;
string conStr = baglanti.Baglan();
Seçim size kalmış artık biz kodlamaya devam edelim.
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(dbconn.Baglan());
conn.Open();
SqlCommand cmdProducts= new SqlCommand(”Select * FROM [Products] ORDER BY [ProductName] ASC “, conn);
SqlDataAdapter da = new SqlDataAdapter(cmdProducts);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
Sayfamızın çıktısında ne gibi farklıklar olacak?
- Sayfalama yapamıyacağız
- Otomatik sıralama olmayacak
Ancak iki yöntemde işimize kesinlikle yarayacaktır.Bir sonraki yazımda burada kullandığımız Dataset’in anladığım kadarı ile mantığını anlatmaya çalışacağım.
Benzer Yazılar
| Print article | This entry was posted by admin on 07/01/2008 at 11:29 pm, and is filed under .Net. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |

