using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
/// <summary>
/// Database'imiz ile ilgili tüm işlemler burada.
/// </summary>
public class dbClass
{
static string connString = ConfigurationManager.ConnectionStrings["baglanti"].ConnectionString;
static SqlConnection conn = new SqlConnection(connString);
public dbClass()
{
}
/// <summary>
/// DataSet hemde bu kadar kolay?
/// </summary>
/// <param name="sqlstr"></param>
/// <param name="tabloadi"></param>
/// <returns></returns>
public static DataSet DataSetGetir(string sqlstr, string tabloadi)
{
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlstr, conn);
da.Fill(ds, tabloadi);
return ds;
}
/// <summary>
/// İşlemi yap sonuç bekleme.
/// </summary>
/// <param name="sqlstr"></param>
public static void ExecuteNonQuery(string sqlstr)
{
SqlCommand cmd = new SqlCommand(sqlstr, conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
try
{
cmd.ExecuteNonQuery();
}
finally
{
conn.Close();
}
}
/// <summary>
/// Kayıt Düzenle işi için.. Yeni bi scalar
/// </summary>
/// <param name="sqlstr"></param>
/// <returns></returns>
public static object ExecuteScalar(string sqlstr)
{
object sonuc;
SqlCommand cmd = new SqlCommand(sqlstr, conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
try
{
sonuc = cmd.ExecuteScalar();
}
finally
{
conn.Close();
}
return sonuc;
}
/// <summary>
/// Datareader Döndürür...
/// </summary>
/// <param name="sqlstr"></param>
/// <returns></returns>
public static SqlDataReader ExecuteReader(string sqlstr)
{
SqlDataReader dr;
SqlCommand cmd = new SqlCommand(sqlstr, conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection) ;
//Connection ömrü, dr kapatılana kadar.
return dr;
}
}
/// Kullanımı :
Asp.NET Projemize dbClass isminde yeni bir class ekliyoruz ve build ediyoruz.
Normalde yapmamız gereken işlem ;
SqlConnection conn = new SqlConnection("SQL STRİNG");
SqlDataAdapter da = new SqlDataAdapter("select * from musteriler",conn);
DataSet ds = new DataSet();
da.Fill(ds);
dlMusteriler.DataSource = ds;
dlMusteriler.DataBind();
Yukardaki kodlar, bizim dlMusteriler DataListimizi dolduracaktır. Yeni class'ımız sayesinde ;
DataSet ds = dbClass.DataSetGetir("select * from musteriler","musteriler");
dlMusteriler.DataSource = ds;
dlMusteriler.DataBind();
Yarı yarıya fark eden bir kod tasarrufu. Aslında ne fark eder diyebilirsiniz, büyük projelerde bağlantı çok fazla Close,Open,Dispose işlemine girdiğinden bazen Null Exception getirebiliyor beraberinde. Bu şekilde yaptığımız tüm bağlantılar kontrolümüz altında ve kararlı şekilde çalışacaktır.
Saygılarımla.