Ana içeriğe atla

DbHelper.cs ile ID ye göre işlemler

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.SqlClient;


public static class DbHelper

{

    // Bağlantı cümlesi (senin kendi bağlantına göre güncelle)

    private static string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=YourDbName;Integrated Security=True";


    // INSERT + SCOPE_IDENTITY

    public static object InsertAndGetId(string query, Dictionary<string, string> parameters)

    {

        using (SqlConnection connection = new SqlConnection(connectionString))

        using (SqlCommand cmd = new SqlCommand($"{query}; SELECT SCOPE_IDENTITY();", connection))

        {

            foreach (var p in parameters)

                cmd.Parameters.AddWithValue("@" + p.Key, p.Value);


            connection.Open();

            object insertedId = cmd.ExecuteScalar(); // eklenen ID döner

            return insertedId;

        }

    }


    // GÜNCELLEME

    public static int Update(string query, Dictionary<string, string> parameters)

    {

        using (SqlConnection connection = new SqlConnection(connectionString))

        using (SqlCommand cmd = new SqlCommand(query, connection))

        {

            foreach (var p in parameters)

                cmd.Parameters.AddWithValue("@" + p.Key, p.Value);


            connection.Open();

            return cmd.ExecuteNonQuery(); // kaç satır güncellendi

        }

    }


    // SİLME

    public static int Delete(string query, Dictionary<string, string> parameters)

    {

        using (SqlConnection connection = new SqlConnection(connectionString))

        using (SqlCommand cmd = new SqlCommand(query, connection))

        {

            foreach (var p in parameters)

                cmd.Parameters.AddWithValue("@" + p.Key, p.Value);


            connection.Open();

            return cmd.ExecuteNonQuery(); // kaç satır silindi

        }

    }


    // ID BULMA (mevcut kaydın id’sini alma)

    public static object GetId(string query, Dictionary<string, string> parameters)

    {

        using (SqlConnection connection = new SqlConnection(connectionString))

        using (SqlCommand cmd = new SqlCommand(query, connection))

        {

            foreach (var p in parameters)

                cmd.Parameters.AddWithValue("@" + p.Key, p.Value);


            connection.Open();

            return cmd.ExecuteScalar(); // örneğin ID gibi tek değer

        }

    }

}

******************************************************************************
C# örnek Kullanım kodları
******************************************************************************

******************************************************************************
Kayıt Ekleme ve ID’yi Label’a Yazdırma
******************************************************************************

private void btn_Ekle_Click(object sender, EventArgs e)
{
    var parametreler = new Dictionary<string, string>
    {
        { "marka", txt_marka.Text },
        { "viskozite1", txt_viskozite1.Text },
        { "viskozite2", txt_viskozite2.Text }
    };

    string sorgu = "INSERT INTO motor_yaglari (marka, viskozite1, viskozite2) VALUES (@marka, @viskozite1, @viskozite2)";
    object yeniId = DbHelper.InsertAndGetId(sorgu, parametreler);

    if (yeniId != null)
        lbl_id.Text = yeniId.ToString();
}

******************************************************************************
Güncelleme (ID ile)
******************************************************************************
private void btn_Guncelle_Click(object sender, EventArgs e)
{
    var parametreler = new Dictionary<string, string>
    {
        { "id", lbl_id.Text },
        { "marka", txt_marka.Text },
        { "viskozite1", txt_viskozite1.Text },
        { "viskozite2", txt_viskozite2.Text }
    };

    string sorgu = "UPDATE motor_yaglari SET marka = @marka, viskozite1 = @viskozite1, viskozite2 = @viskozite2 WHERE id = @id";
    DbHelper.Update(sorgu, parametreler);
}
******************************************************************************
Silme (ID ile)
******************************************************************************

private void btn_Sil_Click(object sender, EventArgs e)
{
    var parametreler = new Dictionary<string, string>
    {
        { "id", lbl_id.Text }
    };

    string sorgu = "DELETE FROM motor_yaglari WHERE id = @id";
    DbHelper.Delete(sorgu, parametreler);
}

******************************************************************************
Daha Önce Eklenen Kayıtların ID’sini Bulma
******************************************************************************

private void btn_IdBul_Click(object sender, EventArgs e)
{
    var parametreler = new Dictionary<string, string>
    {
        { "marka", txt_marka.Text },
        { "viskozite1", txt_viskozite1.Text },
        { "viskozite2", txt_viskozite2.Text }
    };

    string sorgu = "SELECT id FROM motor_yaglari WHERE marka = @marka AND viskozite1 = @viskozite1 AND viskozite2 = @viskozite2";
    object id = DbHelper.GetId(sorgu, parametreler);

    if (id != null)
        lbl_id.Text = id.ToString();
    else
        lbl_id.Text = "Bulunamadı";
}

******************************************************************************
Açıklamalarla Özet
******************************************************************************
Yöntem Adı Görevi
InsertAndGetId() Yeni kayıt ekler ve SCOPE_IDENTITY() ile ID'yi döner
Update() ID ile güncelleme yapar
Delete() ID ile silme yapar
GetId() Belirli kriterlere göre ID'yi bulur (örneğin eski kayıtlar için)


🧠 Sonuç ve Avantajlar

  • Tüm projelerinde bu DbHelper.cs sınıfını kullanarak kod tekrarını azaltırsın.

  • Label ile ID yakaladığın için, güncelleme ve silme işlemleri sadeleşir.

  • Aynı kalıpta her tabloda çalışabilir.

Bu blogdaki popüler yayınlar

FOREGIN KEY ve INNER JOIN ile ilişkili tablo oluşturma Örneği

--1)DataBase oluşturma Sorgusu --CREATE DATABASE Join_Alistirma; --GO --USE Join_Alistirma; --GO --2)musteri Tablosu oluşturma --CREATE TABLE musteri ( --    musteri_ID INT IDENTITY(1,1) PRIMARY KEY, --    adi_soyadi NVARCHAR(100) NOT NULL, --    telefon NVARCHAR(20) NOT NULL --); ---3)araclar Tablosunu Oluştur (FOREIGN KEY ile) --CREATE TABLE araclar ( --    id INT IDENTITY(1,1) PRIMARY KEY, --    musteri_ID INT NOT NULL, --    plaka NVARCHAR(20) NOT NULL, --    marka NVARCHAR(50), --    model NVARCHAR(50), --    yil INT, --    FOREIGN KEY (musteri_ID) REFERENCES musteri(musteri_ID) --); ----------------------------------------------------------------------------- ----NOT  --musteri_ID → musteri tablosuyla bağlantılı olacak. --plaka, marka, model, yil alanları araç bilgilerini tutacak. ----------------------------------------------------------------------------- ---4)Tablolara muste...

Private Void Metod

 namespace Metotlar {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         //Parametre Almayan Değer Döndürmeyen Metot         //Değer döndürmeyen metot tanımlarken Başa Void yazılır         //Tekrar tekrar aynı kod parçasını yazmaya gerek kalmaz Metot adını istediğinde çağarabilirsin         //void : private void olan metot başka yerden erişelemez         //public void olanlar ise erişime açık (dışarıdan görülebilen) anlamına gelir         //Örnek : MesayYaz Metotu: Çağrıldığı yerde ekrana bir mesaj veren metot yazalım         void MesajYaz()          {             MessageBox.Show("Merhaba Ben Parametresiz...

İD ye göre işlemler C# ve Class örnekleri ile Birlikte

***************************************************************************** ✅ DbHelper.cs adında bir sınıf ile Insert , Update , Delete , GetId , SelectAll işlemlerini kolayca yapabilirsiniz. ✅ SCOPE_IDENTITY() kullanarak son eklenen kaydın ID’sini çekme örneği var. ✅ Bu ID’yi Label veya TextBox ’a yazdırabilir, Update veya Delete için tekrar kullanabilirsiniz. ✅ DataGridView ile tüm verileri listeleme örneği de dahil. *****************************************************************************  // ✅ DbHelper.cs using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; public static class DbHelper {     private static string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=YourDatabase;Integrated Security=True";     public static object InsertAndGetId(string query, Dictionary<string, string> parameters)     {         using (SqlConnection connection = new SqlConne...