ASP.net ile webconfig den Ms Access ya da MsSQLServer a bağlanma (Class ile )
Merhaba bu makalede ; Ms Access (2003) database ye webconfig den nasıl bağlanılacağı ile ilgi ufak bir örnek yapacağız.
Aynı zamanda webconfig deki bağlantıya class ile erişip code behind ( aspx.cs ) tarafında bağlantı kodumuzu daha da kısaltıyor olucaz.
ilk olarak webconfig dosyamızdaki gerekli değişiklikleri yapalım ..
web.config dosyamızın ; (veritabanı dosyanız( .MDB ) App_Data dizininde olmalı )
<system.web> boğumunun altına aşağıdaki gibi access provider ve databse adımınızı yazdık
<connectionStrings>addname="bag"connectionString="Provider=Microsoft.jet.OLEDB.4.0 ;Data Source=|DataDirectory|\VeritabanıAdiniz.mdb"providerName="System.Data.OleDb"/>connectionStrings>
Artık Classımızı hazırlayabiriz.
App_Code dizinenie biradet class dosyası oluşturuyoruz ve adının istediğimiz bir isim olarak veriyoruz ben Foksiyon.cs
olarak verdim .
şimdi Clasımızı aşağıdaki gib yazıyoruz.
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Configuration;
using System.Data.OleDb; //Önemli SQL Server için oleDb yerine
// System.Data.SqlClient
///<summary>
/// Summary description for fonksiyon
///</summary>
public class fonksiyon
{
public fonksiyon()
{
}
public OleDbConnection baglan()
{
string bag_str = WebConfigurationManager.ConnectionStrings["bag"].ConnectionString;
OleDbConnection conn = new OleDbConnection(bag_str);
conn.Open();
return conn;
}}
Ne yaptık ?
Clasımızın içine public türünde yani dışarıda ulaşıla bilen bir method yazdık methodmuz geri OleDbConnection tipinde bir değer döndürecek .
public OleDbConnection baglan()
{
string bag_str = WebConfigurationManager.ConnectionStrings["bag"].ConnectionString;
//Web.config deki bağlantımızın connection strinigini aldık.
OleDbConnection conn = new OleDbConnection(bag_str);
// bu connection stringi oluşturduğumuz OleDbConnection e parametere olarak verdik
return conn; // ve geri döndürdük.
}
şimdi kullanımına gelelim .Örneğin Default.aspx.cs de sayfa ilk açıldığında veritatabanına bağlanalım , kayıtları çekelim ve bu kayıtları ekrana yazdıralım . :
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.OleDb;// Önemli
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class BlogAdmin_Default : System.Web.UI.Page
{
fonksiyon fonk = new fonksiyon();// Burası Önemli oluştumuş olduğumuz Classımızı sayfamızda kullanacağımız belirtiyoruz.
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection cnn = fonk.baglan();// işte bukadar basit artık db ye bağlanmak içib uzun connetion stringler , providerler vb. yazmamıza gerek yok .
// Bağlantımızı açmamıza gerek yok.
OleDbCommand cmd = new OleDbCommand("Select ad from tblKisiler ",cnn);
OleDbDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
Response.Write(dr["ad"].ToString() + "<br/>");
}
cnn.Close();// bağlantıyı kapatıyoruz.
}
}
Kolay Gelsin.