
Bu yazımda C# ile SQL CRUD İşlemleri konusuna değineceğim. Anladığım kadarıyla sizlere aktaracağım. CRUD ingilizce Create, Read, Update ve Delete kelimelerinin baş harflerinden oluşturulmuş bir kısaltmadır ve Ekleme, Okuma, Güncelleme, Silme işlemlerini ifade eder.
C# ile SQL INSERT (Veri Ekleme) İşlemi
SqlConnection connection = new SqlConnection("Data Source=MyServerName;Initial Catalog=scharpkampDB;Integrated Security=True");
connection.Open();
Console.Write("Eklemek istediğiniz kategori ismini giriniz: ");
string categoryName = Console.ReadLine();
SqlCommand command = new SqlCommand("INSERT INTO Table_Category (CategoryName) values (@p1)", connection);
command.Parameters.AddWithValue("@p1", categoryName);
int result = command.ExecuteNonQuery(); //çalıştır ve etkilenen satır sayısını al.
connection.Close();
if(result != 0){
Console.WriteLine($"{result} - {categoryName} başarılı bir şekilde eklendi.");
}
Yukarıda en basit hali ili Table_Category tablomuza yeni bir kategori ekleme işlemi yapıyoruz.
Açıklama:
Open()
ile bağlantıyı açıyoruz.SqlCommand
ile sorguyu yazıyoruz.AddWithValue()
ile parametre gönderiyoruz.ExecuteNonQuery()
ile sorguyu çalıştırıyoruz ve etkilenen satırı alıp if ile kontrol ediyoruz.- Son olarak
Close()
ile bağlantıyı kapatıyoruz.
C# ile SQL SELECT (Veri Okuma) İşlemi
Veri tabanındaki verilerimizi çekip, kullanabilmek için SELECT işlemi yaparız. Bununla ilgili daha önce bir blog yazısı yazmıştım, dilerseniz buradan ilgili yazıya ulaşabilirsiniz.
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
SqlConnection connection = new SqlConnection("Data Source=myServerName;Initial Catalog=csharpkampDB;Integrated Security=True");
connection.Open();
SqlCommand command = new SqlCommand("SELECT ProductName FROM Table_Product", connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["ProductName"]);
}
reader.Close(); // Reader'ı kapat
connection.Close(); // Bağlantıyı kapat
}
}
Yukarıdaki yöntem en temel veri okuma yöntemidir.
C# ile SQL UPDATE (Veri Güncelleme) İşlemi
Veri tabanındaki bilgiyi güncellemek için kullanılan temel yöntem aşağıdaki gibidir.
SqlConnection conn = new SqlConnection("Data Source=myServerName;Initial Catalog=csharpkampDB;Integrated Security=True");
conn.Open();
SqlCommand command = new SqlCommand("UPDATE Table_Product SET ProductName=@productName, ProductPrice=@productPrice WHERE ProductId=@productId", conn);
command.Parameters.AddWithValue("@productName", productName);
command.Parameters.AddWithValue("@productPrice", price);
command.Parameters.AddWithValue("@productId", productId);
int result = command.ExecuteNonQuery();
conn.Dispose();
if (result != 0)
{
Console.WriteLine("Ürün güncellendi!");
}
else
{
Console.WriteLine("Bir sorun oluştu!");
}
Yukarıda veri güncelleme kod yapısında sorgumuzda @productName
gibi parametreler ile karşılık gelecek veriyi belirliyoruz ve alt tarafta command.Parameters.AddWithValue("@productName", productName);
ile atama yapıyoruz.
Neden @parametre
+ AddWithValue
Kullanılır?
- SQL Injection’a karşı koruma sağlar.
- Kodun okunabilirliğini artırır.
- Dinamik verileri SQL’e düzgün ve güvenli bir şekilde geçirmemizi sağlar.
- Farklı veri türlerini otomatik olarak algılar.
SQL Injection Nedir? başlıklı blog yazıma da göz atmak isteyebilirsiniz.
C# ile SQL DELETE (Veri Silme) İşlemi
Veri tabanındaki veriyi aşağıdaki gibi bir kod yapısı ile kolaylıkla silebiliriz.
SqlConnection connection = new SqlConnection("Data Source=myServerName;Initial Catalog=csharpkampDB;Integrated Security=True");
connection.Open();
SqlCommand command = new SqlCommand("DELETE From Table_Product WHERE ProductId=@productId", connection);
command.Parameters.AddWithValue("@productId", productId);
command.ExecuteNonQuery();
command.Dispose();
Console.WriteLine("Silme işlemi başarılı!");
Bu yazımda C# ile SQL CRUD İşlemleri konusunu ele almaya çalıştım. Bu içerik benim için sürekli referans olacak ve elimden geldiğince güncellemeye çalışacağım. İçeriğe katkı sağlamak isterseniz, yorum yazmaktan çekinmeyiniz.
Gönderilere yorum yazabilir, linkedin veya @huseyineskan instagram hesabımdan benimle iletişime geçebilirsiniz.
Yazılım kategorisine buradan göz atabilirsiniz.