Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
1007
Tıklama
0
Öne Çıkarma
DataAccessLayer Yazıyoruz !
A
18 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar bu gece başladığım bir Veri Erişim Katmanı yazıyorum. Direk bir classlibrary değilde windows projesi üzerinde yazıyorum, bitincede classlibrary olarak .dll haline getirecem. Fazla bişey yapmış değilim ama. Kodları burayada yazıyorumki, birşeyler eklemek isteyen arkadaşlar olursa güzel birşeyler çıkar ortaya diye düşündüm.

Kaynak Proje Dosyası :http://rapid&share.com/files/56027366/DataAccessLayerDeneme.rar.html linkin ortasındaki & işaretini siliniz

 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Data.SqlClient;
using System.Collections;

namespace DataAccessLayerDeneme
{
public partial class Form1 : Form
{
public class Connection : IDisposable
{
SqlConnection conn = null;

private string mConstr;//ConnectionString

public string Constr
{
get { return mConstr; }
set { mConstr = value; }
}

public Connection() // Default Constructor
{
}

public Connection(string constr)
{
conn = new SqlConnection(constr);
conn.Open();
}

public void ConnectToDB() // Bağlantı Açılıyor
{
if (conn == null)
{
conn = new SqlConnection(mConstr);
conn.Open();
}

}

public void CloseConnection() // Bağlantı Kapatılıyor
{
if (conn != null)
conn.Close();
}

public void Dispose() // Kaynaklar Geri Veriliyor
{
if (conn != null)
{
conn.Dispose();
conn = null;
}
}

public SqlParameter SetParameter(string parName, object value)
{
SqlParameter pars = new SqlParameter();
pars.ParameterName = parName;
pars.Value = value;

return pars;
}

// StoredProcedure Kullanana Komut İşleme Metodu
public SqlCommand ExecuteNonQuery(string spName, SqlParameter pars)
{
SqlCommand cmd = new SqlCommand(spName,conn);
cmd.CommandType = CommandType.StoredProcedure;

if (conn.State == ConnectionState.Closed)
conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

return cmd;
}

// StoredProcedure Kullanana Komut İşleme Metodu
public object ExecuteScalar(string spName, SqlParameter[] pars)
{
object retVal = null;

SqlCommand cmd = new SqlCommand(spName,conn);
cmd.CommandType = CommandType.StoredProcedure;

if (conn.State == ConnectionState.Closed)
conn.Open();

retVal = cmd.ExecuteScalar();

conn.Close();

return retVal;
}

// Sql Kodu İle Komut İşleme Metodu
public SqlCommand ExecuteNonQuery(string komut)
{
SqlCommand cmd = new SqlCommand(komut,conn);

if (conn.State == ConnectionState.Closed)
conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

return cmd;
}

// Sql Kodu İle Komut İşleme Metodu
public object ExecuteScalar(string komut)
{
object retVal = null;

SqlCommand cmd = new SqlCommand(komut,conn);

if (conn.State == ConnectionState.Closed)
conn.Open();

retVal = cmd.ExecuteScalar();

conn.Close();

return retVal;
}

// Daha Önceden Olusturulan Bir Command Nesnesi İle DataTable Doldurma
public DataTable FillTable(SqlCommand cmd)
{
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
dap.Fill(dt);

return dt;
}

// Sadece Komut Verilerek DataTable Doldurma
public DataTable FillTable(string komut)
{
SqlCommand cmd = ExecuteNonQuery(komut);

SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
dap.Fill(dt);

return dt;
}
}

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
// Bu Tip Connection Türetmede otomatik olarak conn.Open() Yapılıyor
// Ayrıca bizim ConnectToDB() Metodunu kullanmamız Gerekmiyor.
Connection bag = new Connection("Data Source =.; Initial Catalog = Deneme; Integrated Security = SSPI");

SqlCommand cmd = bag.ExecuteNonQuery("select * from tbl_Musteriler");
dataGridView1.DataSource = bag.FillTable(cmd);

bag.CloseConnection();
}
}
}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.