Hazırlayacağımız projeler için ilk olarak veritabanı kısmı hazırlanmalıdır.Bu, ileride projenizin gidişatı açısından önem taşımaktadır.Veritabanı hazırlanmadan projeye başlanırsa zaman kaybı yaşanır. Bu yazımda Asp.Net dilinde veritabanı bağlantısı nasıl yapılır konusuna değineceğim. İlk olarak Visual Studio içerisine veritabanı nasıl eklenir onu anlatayım.
Visual Studio İçerisine Veritabanı Ekleme
Visual Studio da yeni bir web site veya bir project oluşturduğumuzda sol tarafta Server Explorer bulunmaktadır.Eğer yoksa View Menüsünden açabilirsiniz.Daha sonra Server Explorer üzerinde DataConnection‘a sağ tıklayarak Add Connection‘ geliyoruz
Çıkan sayfada Server Name kısmına . koyuyoruz (kendi bilgisayarımızda çalışmak için)
Select or enter a database name kısmına ise bir veritabanı adı giriyoruz veya SQLSERVER üzerinde hazır bulunan veritabanlarından birisini seçiyoruz ve OK butonuna basıyoruz. Böylece veritabanımız projemize eklenmiş oluyor. Yine Server Explorer üzerine gelen veritabanımızda Tables‘a sağ tıklayıp Add New Table diyerek tablolar ekleyebilir , eklediğimiz tablolara sağ tıklayıp Show Table Data diyerek tablo içerisine veri girebiliriz
Şimdi ise aşağıdaki adımları takip edelim;
Projemizde oluşturacağımız veritabanı için bir bağlantı gerekiyor.Bunun için birçok yol var.Fakat bunun en hızlı ve verimli olanını anlatacağım.Bu da, oluşturacağımız web.config dosyası içerisine bağlantı satırlarını yazmak ile oluyor
İlk olarak projemizde eğer yoksa bir web.config dosyası oluşturalım.Web.config içerisinde <configuration> tagından sonra
<connectionStrings> …. </connectionStrings> tagları arasına aşağıdaki gibi kullanacağımız veritabanı bağlantı satırlarını ekleyelim ;
1 |
<add name="Veritabani" connectionString=" Data Source=.; Initial Catalog=veritabaniAdi; |
1 |
User ID=kullaniciAdi; Password=kullaniciSifresi" providerName="System.Data.SqlClient"/> |
- Veritabani : Herhangi bir isim verebilirsiniz.Projemizde, veritabanı bağlantılarımızı bu isimle çağıracağız
- Data Source : Buraya veritabanımızın bulunduğu server yazılır.Eğer kendi bilgisayarımızda çalışıyorsak . (nokta) koyulur.Herhangi bir bilgisayardaki veritabanını kullanacaksak buraya, o bilgisayarın ip adresi yazılır
- Initial Catalog : Buraya veritabanımızın ismi yazılır
- User ID : Bu kısma bağlantı izni olacak olan kullanıcı adı yazılır
- Password : Bu kısma bağlantı izni olacak olan kullanıcının şifresi yazılır
- Provider Name : Bu kısımda ise kullanacağımız veritabanının SQLSERVER olduğu belirtilir
Web.config dosyasına bunları ekledikten sonra bu dosyamızın son hali aşağıdaki gibi olacaktır.
Ekran Görüntüsü
Şimdi ise projemiz içerisinde bu veritabanı bağlantımızı çağıracağız.Bunun için, hangi sayfada çağıracaksak o sayfa için using System.Data.SqlClient; kütüphanesini eklememiz gerekiyor.Bilmeyenler için bunun sayfanın en üstünde bulunduğunu hatırlatalım.Ekledikten sonra veritabanı bağlantısı yapacağımız yerlerde aşağıdaki sözdizimini kullanacağız;
1 |
SqlConnection baglanti= new SqlConnection (System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Veritabani"].ConnectionString); |
Şimdi bu anlattıklarımı örnekleyelim;
Visual studio üzerinde yeni bir Empty Web Site oluşturuyoruz.Yukarıda anlattığımız gibi de bir veritabanı oluşturup projemize ekliyoruz daha sonra Web.config dosyasını aşağıdaki gibi düzenliyoruz;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?xml version="1.0"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <connectionStrings> <add name="Veritabani" connectionString=" Data Source=.; Initial Catalog=deneme; Integrated Security=True;" providerName="System.Data.SqlClient"/> </connectionStrings> <system.web> <compilation debug="true" targetFramework="4.0"/> </system.web> </configuration> |
Daha sonra Solution Explorer üzerinde projemize sağ tıklayarak Add New İtem ‘ a tıklıyoruz.Buradan yeni bir webform oluşturuyoruz.Adı Default.aspx olarak kalsın.Default.aspx sayfasının yanındaki küçük ok’a tıklıyoruz ve kod sayfasına geçiyoruz.Kod sayfasına ise aşağıdaki kodları yazalım;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { SqlConnection baglanti = new SqlConnection (System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Veritabani"].ConnectionString); SqlCommand komut = new SqlCommand(); SqlDataReader dr; protected void goster(string tablo) { komut.CommandText = "select * from " + tablo; komut.Connection = baglanti; baglanti.Open(); dr = komut.ExecuteReader(); GridView1.DataSource = dr; GridView1.DataBind(); baglanti.Close(); } protected void Page_Load(object sender, EventArgs e) { goster("kisi"); } } |
Kodun Açıklaması :
Şimdi yazdığımız bu kodları açıklayalım;
1 |
SqlConnection baglanti = new SqlConnection (System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Veritabani"].ConnectionString); |
SqlConnection tipinde baglanti adında bir nesne oluşturuyoruz.Bu nesne veritabanına bağlantıyı sağlar.En sağdaki parantezler içine ise öğrendiğimiz bağlantı sözcüğümüzü yazıyoruz
1 |
SqlCommand komut = new SqlCommand(); |
SqlCommand tipinde komut adında bir nesne oluşturuldu. Bu nesne üzerinden komutlarımızı çalıştıracağız.
1 |
komut.CommandText = "select * from " + tablo; komut.Connection = baglanti; |
Komut nesnemizin commandtext özelliğine, veritabanımızdan bütün kayıtları getirecek sorgumuzu yazıyoruz connection özelliğine ise kullanacağımız Connection nesnemizi yazıyoruz
1 |
SqlDataReader dr; |
Veritabanından çektiğimiz kayıtları okumak için bir değişken oluşturuldu
1 |
dr = komut.ExecuteReader(); |
Burada komut nesnemiz çalıştırıldı. Veritabanımızdan gelen bütün kayıtlar dr değişkenine atandı
1 |
GridView1.DataSource = dr; GridView1.DataBind(); |
Bu satırlarda ise Default.aspx sayfamıza eklediğimiz grid için bir kaynak belirtildi (dr) . Ve Grid, DataBind ile bağlandı.
1 |
goster("kisi"); |
Sayfamızın Load olayına yazdığımız bu fonksiyon, doğrudan bağlantıyı sağlar.
Basit bir örnekle basitçe anlatmaya çalıştım. Kusurumuz varsa affola…
Hocam web.config te eger sql authentication ise ve şifre,kullanıcı adımız oldugunda mı
yazarız demek istediğim
Integrated Security=True; herzaman kullanılmak zorunda mıdır
Selam. Hayır kullanmak zorunda değilsiniz
Teşekkürler bilgilendirme için.
SQL server oluşturmak için “.” işareti koyup gerekli veritabnı adını yazıyıp ok dediğimde hata alıyorum çözümü nedir acaba ?
öncelikle merhaba “.” değil “~” olmalı.
Hocam son kısmı anlamadım goster veya kisi adında bir degisken tanımlamamıştınız
kodu kopyala yapıştır yaptım ve GridView1. kısmı yazım hatası veriyor sebebi ne olabşlir
Elinize sağlık güzel bir makale olmuş.
Gerçekten çok faydalı bir yazı olmuş çok faydalanma fırsatı buldum. Çok teşekkür ederim.
Emeğiniz için teşekkürler…