SQL veritabanına veri eklemek için kullanılan INSERT INTO komutu, C# programlama dili ile birlikte sıklıkla kullanılmaktadır. Bu makalede, C# ile SQL Server’a nasıl veri ekleyebileceğinizi adım adım anlatacağız.
1. INSERT INTO Komutunun Temel Kullanımı
SQL’de veri eklemek için INSERT INTO komutunun temel kullanımı şu şekildedir:
INSERT INTO tablo_adi (sutun1, sutun2, sutun3) VALUES ('deger1', 'deger2', 'deger3');
Bu komut, belirtilen sütunlara sırasıyla değerleri ekler. Şimdi bunu C# ile nasıl kullanacağımızı inceleyelim.
2. C# ile SQL INSERT INTO Kullanımı
C# uygulamalarında SQL sorgularını çalıştırmak için System.Data.SqlClient kütüphanesi kullanılır. Aşağıda temel bir INSERT INTO işlemini gerçekleştiren kod örneği bulunmaktadır:
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
// SQL Server bağlantı dizesi (Kendi veritabanınıza göre güncelleyin)
string connectionString = "Server=localhost;Database=TestDB;User Id=sa;Password=your_password;";
// SQL komutunu tanımla
string query = "INSERT INTO Kisiler (Ad, Soyad, Yas) VALUES (@Ad, @Soyad, @Yas)";
// Bağlantıyı oluştur
using (SqlConnection connection = new SqlConnection(connectionString))
{
// Komutu oluştur
using (SqlCommand command = new SqlCommand(query, connection))
{
// Parametreleri ekle
command.Parameters.AddWithValue("@Ad", "Ahmet");
command.Parameters.AddWithValue("@Soyad", "Yılmaz");
command.Parameters.AddWithValue("@Yas", 30);
// Bağlantıyı aç ve sorguyu çalıştır
connection.Open();
int rowsAffected = command.ExecuteNonQuery();
// İşlem sonucunu ekrana yazdır
Console.WriteLine(rowsAffected + " satır eklendi.");
}
}
}
}
3. Kodun Açıklaması
- SqlConnection: Veritabanı ile bağlantı kurmak için kullanılır.
- SqlCommand: SQL sorgularını çalıştırmak için kullanılır.
- Parameters.AddWithValue: Parametreler, SQL enjeksiyonuna karşı koruma sağlar.
- ExecuteNonQuery(): INSERT, UPDATE, DELETE gibi veri değiştirme işlemlerinde kullanılır.
4. Try-Catch ile Hata Kontrolü Ekleme
Bağlantı hataları, yanlış girişler gibi durumları ele almak için try-catch bloğu ekleyelim:
try
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Ad", "Mehmet");
command.Parameters.AddWithValue("@Soyad", "Kaya");
command.Parameters.AddWithValue("@Yas", 25);
connection.Open();
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine(rowsAffected + " satır başarıyla eklendi.");
}
}
}
catch (Exception ex)
{
Console.WriteLine("Hata oluştu: " + ex.Message);
}
Bu sayede, herhangi bir hata oluştuğunda program çökmez ve kullanıcıya hata mesajı gösterilir.
5. Kullanıcıdan Veri Alarak Ekleme
Eğer kullanıcıdan alınan verileri eklemek istiyorsanız, aşağıdaki kodu kullanabilirsiniz:
Console.Write("Adınızı girin: ");
string ad = Console.ReadLine();
Console.Write("Soyadınızı girin: ");
string soyad = Console.ReadLine();
Console.Write("Yaşınızı girin: ");
int yas = int.Parse(Console.ReadLine());
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Ad", ad);
command.Parameters.AddWithValue("@Soyad", soyad);
command.Parameters.AddWithValue("@Yas", yas);
connection.Open();
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine(rowsAffected + " satır başarıyla eklendi.");
}
}
Bu kod, kullanıcıdan veri aldıktan sonra veritabanına ekler.
Sonuç
- C# ile SQL ‘INSERT INTO’ komutunu kullanarak veri eklemeyi öğrendik.
- Parametreli sorgular kullanarak SQL enjeksiyonuna karşı güvenli bir yapı oluşturduk.
- Try-catch bloğu ile hataları kontrol altına aldık.
- Kullanıcıdan veri alarak dinamik veri ekleme işlemi gerçekleştirdik.
Bu bilgilerle artık C# ve SQL Server ile veri ekleme işlemlerini kolayca gerçekleştirebilirsiniz! 🚀