*****************************************************************************
✅ 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 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();
return cmd.ExecuteScalar();
}
}
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();
}
}
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();
}
}
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();
}
}
public static DataTable SelectAll(string query)
{
using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
}
}
***********************************************************************
// ✅ Form1.cs örnek kullanım
***********************************************************************
// INSERT ve ID çekme
var insertParams = new Dictionary<string, string>
{
{ "marka", txt_marka.Text },
{ "viskozite1", txt_vis1.Text },
{ "viskozite2", txt_vis2.Text }
};
object id = DbHelper.InsertAndGetId(
"INSERT INTO marka_yaglari (marka, viskozite1, viskozite2) VALUES (@marka, @viskozite1, @viskozite2)",
insertParams);
lbl_id.Text = id.ToString();
// SİLME
var deleteParams = new Dictionary<string, string>
{
{ "id", lbl_id.Text }
};
DbHelper.Delete("DELETE FROM marka_yaglari WHERE id = @id", deleteParams);
// GÜNCELLEME
var updateParams = new Dictionary<string, string>
{
{ "marka", txt_marka.Text },
{ "viskozite1", txt_vis1.Text },
{ "viskozite2", txt_vis2.Text },
{ "id", lbl_id.Text }
};
DbHelper.Update(
"UPDATE marka_yaglari SET marka = @marka, viskozite1 = @viskozite1, viskozite2 = @viskozite2 WHERE id = @id",
updateParams);
// LİSTELEME
DataTable dt = DbHelper.SelectAll("SELECT * FROM marka_yaglari");
dataGridView1.DataSource = dt;