Aramayan Bulamaz
×
C# kategorisine ait içerikleri görüntülemektesiniz.
C# Veritabanında Sorgu Çalıştırma

C# ta veritabanında sorgu çalıştırabilmemiz için SqlCommand komutunu kullanırız, ben örneğimize MySql üzerinden devam edeceğim için MySqlCommand komutunu kullanacağım.
Yeni bir windows form uygulaması başlatıp, iki buton bir de listview ekliyoruz. Butonun birine "Bilgileri Getir" diğerini "Bilgiyi Sil" isimlerini veriyoruz.İlk önce veritabanı bağlantımızı yapmak için bağlantı komutlarımızı yapıp bağlantıyı açıyoruz. MySqlConnection baglanti = new MySqlConnection("server=localhost; userid=root; password=root; database=cryptograph"); Bilgileri Getir ismini verdiğimiz butonun click olayına hata kontrol komutlarımızı kullanarak bağlantımızı açıyoruz ve veriler çekmek için gerekli komutlarımızı yazıyoruz.
try { baglanti.Open(); MySqlCommand sorgu = new MySqlCommand("SELECT * FROM blog ORDER BY id DESC", baglanti); MySqlDataReader oku = sorgu.ExecuteReader(); while (oku.Read()) { listView1.Items.Add(oku["blog_baslik"].ToString()); } } catch (Exception hata) { MessageBox.Show(hata.ToString(), "Hata"); } finally { baglanti.Close(); }
MysqlCommand komutu ile sorgu isminde bir nesne tanımladık ve sql sorgumuzu belirtip hangi bağlantıyı kullanacağını belirttik.SELECT * FROM blog ORDER BY id DESC sql sorgumuz, burada blog isimli tablodan verilerin id alanına gire tersten sıralanacak şekilde getirilmesini istedik.MysqlDataReader ile bir data reader nesnesi oluşturduk, yani veritabanından bilgileri okuyacak olan nesne, oku isimli nesneye sorgu.ExecuteReader(); bu komut ile bilgiyi nereden okuyacağını belirttik, sorgu isimli nesneden alacak bilgiyi.Daha sonra bunu döngüye sokarak listview içine ekledik veriyi. Try içerisinde gerçekleşen sorgular bittiğinde finally içerisindeki sorgu çalıştırılır, yani durum gerçekleşse de gerçekleşmese de en sonda yapılacak işlem burada belirtiliyor,

C#\'ta Veritabanı Bağlantısı

C#'ta SQLServer bağlantısı için isim uzayı olarak SqlClient'ı çağırmamız gerekiyor (using System.Data.SqlClient;), veya başka bir veritabanı için hangi isim uzayı gerekiyorsa onu çağırırız. Mysql için net connector kuruluysa eğer using MySql.Data.MySqlClient;  kullanırız.
Bağlantı komutları: SqlConnection, eğer mysql kullanacaksak MySqlConnection. Dikkat ederseniz komutun başına sadece My eki geldi. Ben örneğime MySql üzerinden devam edeceğim.
MySqlConnection baglanti = new MySqlConnection("server=localhost; userid=root; password=root; database=cryptograph");
MysqlConnection komutu ile baglanti isminde bir nesne oluşturuyoruz, eşitlikten sonra parantez içinde veritabanı bilgilerimizi yazıyoruz.Server veritabanımızın bulunduğu yer, userid veritabanı kullanıcısının adı, password veritabanı kullanıcısının şifresi, databasede ise veritabanımızın adı tanımlanıyor.
Şimdi sadece baglanti isminde bir nesne tanımladık, bu bağlantıyı açmadık. Bağlantıyı açmak için baglanti.Open(); komutunu kullanıyoruz. Bu şekil bir kullanımda eğer bağlantıda sorun yaşanırsa program hata verir ve çalışması durur. Bu gibi durumlarda try-catch hata kontrol komutları kullanırız.
try{ baglanti.Open(); MessageBox.Show("Bağlantı açıldı"); } catch (Exception hata){ MessageBox.Show(hata.ToString(),"Hata"); }
Bağlantı açıldığı durumda ekrana Bağlantı açıldı uyarısı verecek, bağlantının hatalı olduğu durumda ise ekrana hata kodu ile birlikte hata mesajını verecektir.
Bağlantıyı kapatmak içinse baglanti.Close(); komutunu vermemiz gerekecektir.


Örnek dosyayı buradan indirebilirsiniz

C# For ve While Döngüleri

Konuya  PHP For ve While Döngüleri konusundaki anlatımımla aynı başlıyorum, çünkü temel olarak herşey aynı.

Döngüler tekrar eden işlemleri yapmakta kullanılır. Başlangıçta anlamsız gelebilir ama 100 üyeli bir web sayfanız varsa hepsinin adını tek tek yazmak yerine döngü kullanarak üç satırda işinizi bitirebilirsiniz.

For Döngüsü


For döngüsü verilen artırma değerine göre döner. Dönerken aradaki işlemleri tekrar tekrar yapar. yazılması şu şekildedir.

for( degisken ; dönme şartı ; her dönüşte yapılacak işlem)

degisken: dönmeye ilk başladığı anda bir değişken üretmeyi sağlar

dönme şartı: Buradaki şart aslında bir IF komutudur. sorulan soru doğru ise dönmeye devam eder.

her dönüşte yapılacak işlem: Dönme sırasında herzaman birer birer arttırmak zorunda değilsiniz. bu işlemi değiştirip üçer üçer veya beşer beşer saydırabilirsiniz.


örnek:

int say; for ( say=1 ; say < 10 ; say++ ){ Console.WriteLine(" şu anda " + say + " sayısındayım"); }
bu komutu çalıştırdığınızda. şöyle bir sonuç çıkar:

şu anda 1 sayısındayım
şu anda 2 sayısındayım
şu anda 3 sayısındayım
şu anda 4 sayısındayım
.... Bu şekilde 9 kere devam eder. verilen şart say <10 olduğu için say==10 olduğunda dönme sona erer.


While Döngüsü

While döngüsü üsttekinin biraz daha sade halidir. Fakat sadece sayılar için kullanılmaz. While döngüsü tek bir şarta bağlı olduğu için dikkatli kullanmak gerekir.

Yazılışı:

While (Sorgu)
{
sorgu doğru ise yapılacak işlem
}

örnek: civciv örneğini yapalım.

int civciv=0; while(civciv>0){ Console.WriteLine("A

C# Değişken Tanımlama ve İf - Else Yapısı

C# ta değişkenleri tiplerine göre tanımlarız, sayı tipi, text tipi gibi.

"int a;" a isimli değişkenin tipinin tam sayı olacağını belirledik
"string b;" b isimli değişkenin tipinin bir string olacağını belirledik
"double c;" c isimli değişkenin tipinin ondalık sayı olacağını tanımladık.

Bu değişkenlere değer ataması programın herhangi bir adımında yapılabilir:
a=10;
b="Cryptograph"; 
c=5.5;

Değişkenler dışarıdan değer girilmesi bu değerlerin karşılaştırılması, bir döngüye sokulması ve daha farklı işlerin yapılması için kullanılır, dışarıdan herhangi bir değer girilebilir o yüzden değişkendir. Dışarıdan girilen bir değeri okumak için Console.ReadLine() komutunu kullanırız. String tipli bir değişkenin okunmasını istiyorsak b=Console.ReadLine(); fakat sayı tipli bir değişken okuyacaksak bunun için dönüştürme fonksiyonu kullanmalıyız, çünkü Console.ReadLine komutu string olarak okur, a=Convert.ToInt32(Console.ReadLine()); bu şekilde int tipli bir değişkeni okumuş olduk, c = Convert.ToDouble(Console.ReadLine()); bu komutla da double tipli bir değişken okuduk.

İf - Elseyapısı  
Dışarıdan girilecek değer veya daha farklı bir yerden gelen bir değeri karşılaştırmak için kullanırız.
if(karşılaştırılacak değer) karşılaşma sonucunda yapılacak olan işlem
else "karşılaştırma sağlanmıyorsa yapılacak işlem"

a=Convert.ToInt32(Console.ReadLine()); if(a==5) Console.WriteLine("Niyazi Alpay"); else Console.WriteLine("Yanlış Sayı"); a değişkeni eğer 5 olarak gelirse ekrana Niyazi Alpay yazdır, farklı bir değer gelirse Yanlış Sayı yazdır.
Eğer şart sağlandığında birden fazla işlem yaptırmak istiyorsak {} parantezleri i

C# Genel Programlama Mantığı

C#, Net Frameworkler aracılığı ile çalışan bir dildir. Bir C# ;uygulamasının çalışabilmesi için bilgisayarımızda ouygulama hangi Net Frameworkle derlendiyse o Net Framework'ün kurulu olması gereklidir.

C#'ta uygulama yazabilmek için bilgisayarımızda Microsoft Visual Studio kurulu olması gereklidir. Visual Studio ile birlikte gerekli frameworklerde kuruluyor bilgisayarımıza.

Visual Studio'da C# console uygulaması açtığımızda karşımıza şu kodlar gelir:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.Write("Cryptograph"); } } } using System ve diğer using ile başlayan kodlar isim uzaylarını çağırıyor, yani using System ile System isim uzayını çağır anlamına geliyor, bu da System isim uzayı içerisindeki kodları programımızda kullanmamıza olanak sağlıyor. Mesela ekrana yazı yazdırmak istediğimizde

Console.Write("Cryptograph");

bu kodu kullanırız, fakat System isim uzayını çağırmamış olsaydık bu komutu C# uygulaması tanımayacaktı.
Şimdi kodlarda şöyle bir değişiklik yapalım:

using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { System.Console.Write("Cryptograph"); } } }

System isim uzayını çağırmadım fakat ekrana yazı yazdırırken System.Console.Write("Cryptograph"); bunu kullandım, System isim uzayının içinden Console.Write komutunu çağırmış oldum bu şekilde, ama böyle bir kullanım şekli zor olacağı için isim uzayını en başta çağırmak en iyisidir.
Bir de dikkat ederseniz komutlar hep ; işaretiyle sonlandırılıyor, ; işareti komut satırının bittiğini gösteriyor. Eğer ; koymadan farklı bir komut kullanmak istersek program hata verecektir.