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..