Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Soru Merkezi  > ADO.NET Soru Merkezi > Bir veri erişim katmanı yazıyorum. Bunula ilgili bir sorun.

Bir veri erişim katmanı yazıyorum. Bunula ilgili bir sorun. 09.11.2009 17:41:01

cenbek03

Merhaba. Yaptığım site için bir veri erişim katmanı oluşturacağım. Bunun için Web Sitesi klasörü içinde DAL içinde bir proje oluşturdum. Bu projeyi Class Library olarak oluştrudum.(veritabanı erişimini buradan sağlayacağım). Class librarye bir App.config ekledim. Bu config dosyasında veritabanı için connectionstringimi belirledim.Aşağıdaki gibi.

<connectionStrings>

<add name="sqlDataConnection" connectionString="Data Source=D\SQLEXPRESS;Initial Catalog=AlisVeris.mdf;Integrated Security=SSPI"/>

</connectionStrings>

 

Veritabanına bağlanma sınıflarım şu şekilde.

  

public interface IConnection

{

void CreateDBConnection();

void Dispose();

}

 

public class SQLConnectionClass:IConnection

{

protected SqlConnection connection = null;

string connectionstring = ConfigurationManager.ConnectionStrings["sqlDataConnection"].ConnectionString;

//string connectionstring=@"Data Source=D\SQLEXPRESS;Initial Catalog=AlisVeris.mdf;Integrated Security=SSPI";

 

 

public SQLConnectionClass()

{

// connectionstring = ConfigurationManager.ConnectionStrings["sqlDataConnection"].ConnectionString;

CreateDBConnection();

}

public void CreateDBConnection()

{

if (connection == null)

connection = new SqlConnection(GetConnectionString);

//return connection;

}

public void Dispose()

{

connection.Dispose();

}

 

Sınıflarım yukarıdaki gibi. Sorun şu.,

string connectionstring = ConfigurationManager.ConnectionStrings["sqlDataConnection"].ConnectionString;

kısmında hata veriyor. "Object reference not set to an instance of an object" hatası veriyor. Veritabanı için app.confige yazdığım bağlantı cümlesi doğru.

Eğer direk

string connectionstring=@"Data Source=D\SQLEXPRESS;Initial Catalog=AlisVeris.mdf;Integrated Security=SSPI";

şeklinde yazarsam çalışıyor. Ama diğer türlü hata veriyor.(Sınıflara System.Configuration namespaceininide ekledim.)

Sorun neden olabilir. Bana doğru gözüküyor ama bir yerde sorun var.

Teşekkürler..

 

 

 

10.11.2009 15:57:07

semgoksu
Cvp: Bir veri erişim katmanı yazıyorum. Bunula ilgili bir sorun.

config dosyanda "sqlDataConnection" varmı?

10.11.2009 19:49:37

cenbek03
Cvp: Bir veri erişim katmanı yazıyorum. Bunula ilgili bir sorun.

Oluşturduğum class lbrary içindeki App.config dosyasında var.

10.11.2009 22:30:08

semgoksu
Cvp: Bir veri erişim katmanı yazıyorum. Bunula ilgili bir sorun.

Kullandığın Application içinde varmı ? (Web yada Windows)

06.12.2009 10:58:32

HoPe
Cvp: Bir veri erişim katmanı yazıyorum. Bunula ilgili bir sorun.

Web.config dosyaların doğru yerde ise şunu bir denermisin

public void CreateDBConnection()

{

if (connection == null)

connection = new SqlConnection(GetConnectionString);

//return connection;

}

yazmışsın. Ben burada GetConnectionString metodunu göremedim. new SqllConnection içine connectionstring adındaki string bağlantını vererek bir dene. Yada

 

public string ConnectionStringGetir()

{

return System.Configuration.ConfigurationManager.ConnectionStrings["BAĞLANTI ADI"].ConnectionString;

}

diyerek SqlConnection içine

public void CreateDBConnection()

{

if (connection == null)

connection = new SqlConnection(This.ConnectionStringGetir()); //Aynı sayfada oluşturuyorsan This 

//return connection;

} Tabi returnları açmayı unutma :)


06.12.2009 11:17:25

HoPe
Cvp: Bir veri erişim katmanı yazıyorum. Bunula ilgili bir sorun.

Birde aklıma takıldı.

void CreateDBConnection();

 

burada geri dönüş void mi olacak yoksa SqlConnection mu onuda bir denemekte yarar var.

Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.