C# Veritabanı İşlemleri-1

0
877

Bu yazımızda daha önceki yazılarımda  bahsettiğim Stored Procedure işlemlerini C# ortamında kullanımından bahsedeceğim. Bu işlemleri örneklerle devam ederek anlatacağım.

Bu işlemlere başlamadan önce veritabanına bağlantı yapmamız gerekmektedir. Bu işlemler için bir db connection işlemi yapmamız gerekiyor.  Aşağıda verdiğim linkte bir çok sql bağlantı stringlerini bulabilirsiniz.

https://www.connectionstrings.com/sql-server/

Data Source=berk;Initial Catalog=berkaratcom;Persist Security Info=False;User ID=berkaratsite;Password=123456

 

Bu connection string kullanımını register üzerinden yapacağız bunun için Bilgisayar\HKEY_LOCAL_MACHINE\SOFTWARE yoluna gidiyoruz. Burada Yenil>Anahtar diyerek bir alan oluşturuyoruz daha sonra bu anahtarın üzerine gelerek sağ tıklıyoruz ve  Yeni>Dize değeri diyerek stringimizi oluşturuyoruz. Bu string değere yukarıda verdiğim connection stringi yazıyoruz.

 

public static SqlConnection sqldbsconnect ()
{
    var hklm = RegistryKey.OpenBaseKey (RegistryHive.LocalMachine, RegistryView.Registry64);
    // System 64 üzerinden çalışıyor !! 
    var key = hklm.OpenSubKey (@"SOFTWARE\berkarat\sql");

    //  string constring = Settings.Default.dbconnection.ToString ();
    string constring = key.GetValue ("dbconnection").ToString ();
    SqlConnection con = new SqlConnection (constring);
    try
    {
        con.Open ();
    }
    catch (Exception)
    {
         MessageBox.Show(" Server Bağlantı Sorunu ", "UYARI", MessageBoxButtons.OK);
        //EventLogaYaz.HataMesajiYaz(ex, 0);
    }

    return con;
}

Buradaki C# örneği sqlconnection işlemini yapmamıza yarayan metodu göstermektedir. KEY ile register üzerinden sql sorgumuzu çağırıyoruz. Bunun bize avantajı eğer bu programı farklı bir veritabanında uygulamak isterseniz yapmanız gereken tek şey register üzerinden bilgileri değiştirmek. Daha sonrasında da bildiğimiz connection açma işlemleri

 

C# ile Stored Procedure Select

Bu bölümde Stored procedure kullanacağız ve C# üzerinden select işlemini yapacağız. Yukarıda  bahsettiğim sqlconnection fonksiyonunu kullanarak bağlantıyı oluşturuyoruz. Ardından sql comand oluşturuyoruz ve tipini belirliyoruz. Daha sonra bu işlemleri DataTable’a aktaracağımız için Datatable olarak return dönüşü yapıyoruz.

public static DataTable sp_select (string sp_name, out string _error)
 {
     DataTable ds = new DataTable ();
     _error=null;
     try
     {
         using (SqlConnection con = sqldbsconnect ())
         {
             if (con.State.ToString ()=="Open")
             {
                 SqlCommand sqlComm = new SqlCommand (sp_name, con);
                 sqlComm.CommandType=CommandType.StoredProcedure;
                 SqlDataAdapter da = new SqlDataAdapter ();
                 da.SelectCommand=sqlComm;
                 da.Fill (ds);
             }
             else
             {
                 _error="DB SERVER CONNECTION = "+con.State.ToString ();
             }
         }
     }
     catch (Exception ex)
     {
         _error=ex.ToString ();
     }
     return ds;
 }

 

Burada _error ise out tipinde tanımlamış olan string değer bizim işlemimiz eğer bir hata oluşursa dönüş mesajını görünteleyecektir. Eğer istenilirse bu mesajlar Log olarak da tutulabilir.

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.