•         

            

            

  • HyperFilter | DoS Protection | DDoS Protection | DoS Mitigation | DDoS Mitigation | AntiDoS | AntiDDoS | Proxy Shielding

C# MSSQL Database İşlemleri - Veri Okuma

Tr_Cool_Tr

Yeni Cüce
Katılım
18 Mart 2012
Mesajlar
6
Merhaba arkadaşlar;



MSSQL üzerinden database işlemleri yapmayı inceleyeceğiz.Bir kaç bölüm halinde olacak.Database'e veri eklemek , silmek , düzenlemek , database'den veri çekmek , prosedurleri kullanmak vb. ...



Haydi başlayalım... Öncelikle kullanacağımız yapıları inceleyelim.

Projelerde kullanacağımız Northwind database'ini buradan indirebilirsiniz.





Kullanacağımız bütün classlar "System.Data.SqlClient" namespace'i içinde bulunur.Bu yüzden bu namespace'i projemize dahil etmemiz gerekiyor.



PHP:
using System.Data.SqlClient;



Şimdi bu namespace'in içinde bulunan kullanacağımız classları inceleyelim.



SqlConnection Classı :



Bu class MSSQL ile projemiz arasında bir bağlantı kurmaya yarar.İki tane yapıcı methodu vardır.Biri parametresizdir , diğeri ise parametre olarak connectionstring alır.

Connection String = MSSQL database'e bağlanmamız için gerekli bilgileri barındırır adresinden her version için connectionstringlere ulaşabilirisiniz.



PHP:
SqlConnection connection = new SqlConnection();

PHP:
SqlConnection connection = new SqlConnection("Server=ServerAdres;Database=database;Trusted_Connection=True;");



SqlCommand Classı :



Bu class MSSQL databesimiz üzerinde işlemler yapmamıza yarar.Dört tane yapıcı methotu vardır.Birincisi parametresizdir , ikincisi sadece uygulanacak MSSQL sorgusunu alır , üçüncüsü MSSQL sorgusu SqlConnection alır , dördüncüsü MSSQL sorgusu SqlConnection ve SqlTransaction alır.



PHP:
SqlCommand command = new SqlCommand();

PHP:
SqlCommand command = new SqlCommand("Sql Sorugusu");

PHP:
SqlCommand command = new SqlCommand("Sql Sorugusu",SqlConnection);

PHP:
SqlCommand command = new SqlCommand("Sql Sorugusu",SqlConnection,SqlTransaction);



SqlDataReader Classı :



Bu class MSSQL database'imizde bulunan verileri çekmemize yarar.Yapıcı methotu yoktur SqlCommand'ın ExecuteReader methodu ile beraber kullanılır.



PHP:
SqlDataReader reader = command.ExecuteReader();



SqlDataAdapter Classı :



Bu class MSSQL database'imizde bulunan verileri çekmemize yarayan başka bir methottur.Dört tane yapıcı methotu vardır.Birincisi parametre almaz , ikincisi SqlCommand alır , üçüncüsü string şeklince MSSQL sorugu ile SqlConnection alır , dördüncüsü ise string şeklince MSSQL sorugu ile connectionstring alır .



PHP:
SqlDataAdapter adapter = new SqlDataAdapter();

PHP:
SqlDataAdapter adapter = new SqlDataAdapter(SqlCommand);[7PHP]

[PHP]SqlDataAdapter adapter = new SqlDataAdapter("Sql Sorgusu",SqlConnection);

PHP:
SqlDataAdapter adapter = new SqlDataAdapter("Sql Sorgusu","ConnectionString");



SqlTransaction Classı :



Bu class MSSQL de yaptığımız işlemler sırasında bir hata durumunda yapılan işlemlerin geri alınması için kullanılır.Bir tane yapıcı metotu vardır , oda hiç bir parametre almaz.

PHP:
SqlTransaction transaction = new SqlTransaction();



Şimdi örneklerimize başlıyoruz.



Database'den veri okumak.Northwind database'imizin Employees tablosundan verilerimizi çekeceğiz.



SqlDataReader kullanarak verileri çekmek.



PHP:
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.SqlClient;



namespace MSSQL_Database_İşlemleri

{

    class Program

    {

        static void Main(string[] args)

        {

            SqlConnection connection = new SqlConnection("Server=.;Database=Northwind;Trusted_Connection=True");//MSSQL'e bağlanmak için SqlConnection nesnemizi oluşturduk yapıcı metotumuza da bağlantı için gerekli ConnectionStringimizi yazdık.

            try

            {

                connection.Open();//İşlemlere başlamak için bağlantımızı açıyoruz.

                SqlCommand command = new SqlCommand("Select * From Employees", connection);//Verileri çekmek için SqlCommand oluşturduk ve Sorgu

                SqlDataReader reader = command.ExecuteReader();//ExecuteReader metotu ile SqlCommandle istediğimiz verileri SqlDataReader'a atıyoruz.

                if (reader.HasRows)//Çektiğimiz verileriler dolu mu diye bakıyoruz doluysa devam ediyoruz.

                {

                    while (reader.Read())//Verileri okumaya başlıyoruz bu while döngüsü satırlar bitene kadar devam eder.

                    {

                        Console.WriteLine("ID : " + reader.GetInt32(0));//GetInt32(0) Metotu Gelen verilerden int olan değerleri çekmek için kullanılır 0 ise o verinin index numarasıdır

                        Console.WriteLine("LastName : " + reader.GetString(1));//GetString(1) Metotu Gelen verilerden string olan değerleri çekmek için kullanılır 1 ise o verinin index numarasıdır

                        Console.WriteLine("FirstName : " + reader.GetString(2));

                        Console.WriteLine("Title : " + reader.GetString(3));

                        Console.WriteLine("TitleOfCourtesy : " + reader.GetString(4));

                        Console.WriteLine("Birthdate : " + reader.GetDateTime(5).ToLongDateString());//GetDateTime(5) Metotu Gelen verilerden DateTime olan değerleri çekmek için kullanılır 5 ise o verinin index numarasıdır

                        Console.WriteLine("Hiredate :" + reader.GetDateTime(6).ToLongDateString());

                        Console.WriteLine(new string('*', 40));

                    }

                    reader.Close();// SqlDataReader ile okumamız bittiğinde close metotu ile kapatıyoruz.

                }

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

            finally

            {

                if (connection.State == System.Data.ConnectionState.Open) connection.Close();//Bağlantımızı kapatıyoruz.

                Console.Read();

            }

        }

    }

}



Sonuç :

45358972.png




Uygulamayı indirebilirsiniz :





Password :

demirugur.wordpress.com
 
Geri
Üst