Gunun on plana cikan hikayelerini, analizlerini ve rehber iceriklerini takip edin.

Elektroniğe dair ne varsa!

C# ile SQL Server Bağlantısı Nasıl Kurulur? Connection, Command ve DataTable Mantığı

C# ile SQL Server bağlantısı kurma, SqlConnection, SqlCommand ve DataTable kullanımını açıklayan profesyonel rehber.

C# ile kurumsal ya da masaüstü uygulama geliştirirken veritabanı bağlantısı kurmak temel becerilerden biridir. Kullanıcı kayıtları, siparişler, ürün listeleri ve rapor ekranları gibi pek çok yapı sağlam bir veri erişim katmanına dayanır.

Bağlantı kurmayı yalnızca connection string yazmak sanmak büyük yanılgıdır. Asıl mesele; bağlantının açılması, komutun doğru şekilde yürütülmesi, verinin güvenli biçimde alınması ve kaynakların doğru zamanda kapatılmasıdır.

Kısa cevap: Bağlantı açma, sorgu yürütme ve sonucu uygulamaya taşıma.

Konu özeti

BaşlıkÖzet
Odak noktaBağlantı açma, sorgu yürütme ve sonucu uygulamaya taşıma
Öğrenilecek yapılarSqlConnection, SqlCommand, SqlDataAdapter ve DataTable
En kritik uyarıParametresiz ve dağınık sorgu yazımı güvenlik ve bakım sorunu üretir

Bağlantı katmanı nasıl düşünülmeli?

SqlConnection, uygulama ile SQL Server arasındaki veri yolunu kurar. Sunucu bilgisi, veritabanı adı ve doğrulama ayrıntıları bu nesne üzerinden tanımlanır. Ancak asıl önemli nokta, bağlantının yalnızca gerektiği süre boyunca açık tutulmasıdır.

Bu yüzden using bloğu kritik öneme sahiptir. using, iş bittiğinde dış kaynağın düzgün şekilde serbest bırakılmasını kolaylaştırır ve bağlantı sızıntılarını azaltır.

C# ile SQL Server Bağlantısı Nasıl Kurulur? Connection, Command ve DataTable Mantığı için connection görseli

Sorgu çalıştırma ile veri alma aynı şey değildir

INSERT, UPDATE ve DELETE işlemleri veritabanında değişiklik yapar. SELECT ise veri döndürür. Bu iki davranışı uygulama katmanında net biçimde ayırmak gerekir. Bir işlemin etkilenen satır sayısını döndürmesi ile tablo sonucu üretmesi aynı senaryo değildir.

SELECT sonucu kullanıcı arayüzünde tablo olarak göstermek istediğinizde DataTable pratik bir ara yapı sağlar. Bu nesne satır ve sütun mantığıyla veriyi bellekte tutar.

using Microsoft.Data.SqlClient;
using System.Data;

string cs = "Server=.;Database=MarketDB;Trusted_Connection=True;";
using (SqlConnection con = new SqlConnection(cs))
{
    con.Open();
    string sql = "SELECT Id, Ad, Fiyat FROM Urunler";
    using (SqlDataAdapter da = new SqlDataAdapter(sql, con))
    {
        DataTable dt = new DataTable();
        da.Fill(dt);
    }
}
C# ile SQL Server Bağlantısı Nasıl Kurulur? Connection, Command ve DataTable Mantığı için command görseli

Güvenlik ve bakım kalitesi nasıl korunur?

Veri erişim katmanında parametreli sorgu kullanmak, hem okunabilirliği hem de güvenliği artırır. Kullanıcıdan gelen değeri doğrudan sorgu metnine eklemek kısa vadede kolay görünse de uzun vadede risklidir.

Ayrıca bağlantı, sorgu ve arayüz güncelleme işlerini tek bir yöntem içinde toplamak yerine katmanlı düşünmek bakım maliyetini düşürür.

  • Bağlantıları using bloğu içinde yönetin.
  • Veri değiştiren işlemler ile veri getiren işlemleri ayırın.
  • Parametreli sorgu kullanımını standart hâline getirin.
  • UI kodu ile veri erişim kodunu aynı noktada karıştırmayın.
C# ile SQL Server Bağlantısı Nasıl Kurulur? Connection, Command ve DataTable Mantığı için datatable görseli

Sık yapılan hatalar

  • Bağlantıyı açık bırakmak
  • Kullanıcı girdisini doğrudan SQL metnine eklemek
  • Tüm işlemleri tek uzun metotta toplamak
  • DataTable kullanımını veritabanı tasarımının yerine koymak

Sık sorulan sorular

DataTable her zaman gerekli mi?

Hayır. Ancak tablo sonucunu bellekte tutup ekranda göstermeniz gerektiğinde çok kullanışlıdır.

using neden önemlidir?

Çünkü dış kaynakların iş bittiğinde güvenli biçimde kapatılmasını kolaylaştırır.

SELECT ve UPDATE aynı yöntemle mi çalıştırılır?

Hayır. Biri veri döndürür, diğeri veriyi değiştirir. Uygulama mantığında bu ayrım korunmalıdır.

İlgili aramalar

  • c# sql server bağlantısı
  • sqlconnection sqlcommand örnek
  • datatable doldurma mantığı
  • ado.net temel kullanım
  • using blokları veritabanı

Yazar notu

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir