Ana içeriğe atla

Kodlarım

Araç Bakım Takip - C# Kod

Araç Bakım Takip - Tüm C# Kod

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Araç_Bakım_Takip { public partial class araclar_sayfasi : Form { public araclar_sayfasi() { InitializeComponent(); } //Veritabanı kayıt baglantisi dinamik SqlConnection baglanti = new SqlConnection(@"Data Source=.;Initial Catalog=Arac_Bakim_Takip;Integrated Security=True"); //dataGridView1 veritabanındaki bilgileri gösterme DataTable dt = new DataTable(); private void MusteriListele() { //dataGridView1 için sql sorgusu SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM musteri_bilgileri INNER JOIN arac_bilgileri ON musteri_bilgileri.id = arac_bilgileri.musteri_id", baglanti); da.Fill(dt); dataGridView1.DataSource = dt; } private void araclar_sayfasi_Load(object sender, EventArgs e) { timer1.Start(); MusteriListele(); } private void timer1_Tick(object sender, EventArgs e) { lbl_Tarih_Saat.Text = DateTime.Now.ToString("g"); } private void btn_AracEkle_Click(object sender, EventArgs e) { try { if (BoslukVar.Kontrol( txt_AdiSoyadi.Text, txt_Telefon.Text, txt_Plaka.Text, txt_Marka.Text, txt_Model.Text, txt_Yil.Text)) { MessageBox.Show("Text'ler boş bırakılamaz !!!"); return; } baglanti.Open(); string plakaKontrol = "SELECT COUNT(*) FROM arac_bilgileri WHERE plaka = @plaka"; SqlCommand plakaCmd = new SqlCommand(plakaKontrol, baglanti); plakaCmd.Parameters.AddWithValue("@plaka", txt_Plaka.Text); int ayniPlakaSayisi = Convert.ToInt32(plakaCmd.ExecuteScalar()); if (ayniPlakaSayisi > 0) { MessageBox.Show("Bu plaka zaten sistemde kayıtlı!"); LogYonetimi.Yaz("Plaka zaten vardı: " + txt_Plaka.Text); return; } string arac_ekle = "INSERT INTO musteri_bilgileri (adi_soyadi, telefon) VALUES (@adi_soyadi, @telefon); SELECT SCOPE_IDENTITY();"; SqlCommand parametreler = new SqlCommand(arac_ekle,baglanti); parametreler.Parameters.AddWithValue("@adi_soyadi",txt_AdiSoyadi.Text); parametreler.Parameters.AddWithValue("@telefon",txt_Telefon.Text); int musteriID = Convert.ToInt32(parametreler.ExecuteScalar()); string arac_bilgileri = "INSERT INTO arac_bilgileri (plaka,marka,model,yil,musteri_id) VALUES(@plaka,@marka,@model,@yil,@musteri_id)"; SqlCommand aracParametre = new SqlCommand(arac_bilgileri,baglanti); aracParametre.Parameters.AddWithValue("@plaka",txt_Plaka.Text); aracParametre.Parameters.AddWithValue("@marka",txt_Marka.Text); aracParametre.Parameters.AddWithValue("@model",txt_Model.Text); aracParametre.Parameters.AddWithValue("@yil",txt_Yil.Text); aracParametre.Parameters.AddWithValue("@musteri_id",musteriID); aracParametre.ExecuteNonQuery(); LogYonetimi.Yaz("Araç eklendi: " + txt_Plaka.Text); MessageBox.Show("Müşteri ve Araç Bilgileri Kayıt edildi ..."); } catch (Exception ex) { MessageBox.Show("HATA oluştu:\n" + ex.Message); } finally { baglanti.Close(); } } private void btn_Ayarlar_Click(object sender, EventArgs e) { Ayarlar ayarlar = new Ayarlar(); ayarlar.ShowDialog(); } private void btn_AracGuncelle_Click(object sender, EventArgs e) { try { if (BoslukVar.Kontrol( txt_AdiSoyadi.Text, txt_Telefon.Text, txt_Plaka.Text, txt_Marka.Text, txt_Model.Text, txt_Yil.Text)) { MessageBox.Show("Text'ler boş bırakılamaz !!!"); return; } baglanti.Open(); string guncelle_musteri = "UPDATE musteri_bilgileri SET adi_soyadi=@adi_soyadi,telefon=@telefon WHERE id=@id"; SqlCommand cmd = new SqlCommand(guncelle_musteri,baglanti); int musteriID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["id"].Value); cmd.Parameters.AddWithValue("@adi_soyadi",txt_AdiSoyadi.Text); cmd.Parameters.AddWithValue("@telefon",txt_Telefon.Text); cmd.Parameters.AddWithValue("@id",musteriID); string arac_bilgi_guncelle = "UPDATE arac_bilgileri SET plaka=@plaka,marka=@marka,model=@model,yil=@yil,musteri_id=@musteri_id WHERE musteri_id=@musteri_id"; SqlCommand cmd_arac_bilgi = new SqlCommand(arac_bilgi_guncelle,baglanti); cmd_arac_bilgi.Parameters.AddWithValue("@plaka",txt_Plaka.Text); cmd_arac_bilgi.Parameters.AddWithValue("@marka",txt_Marka.Text); cmd_arac_bilgi.Parameters.AddWithValue("@model",txt_Model.Text); cmd_arac_bilgi.Parameters.AddWithValue("@yil",txt_Yil.Text); cmd_arac_bilgi.Parameters.AddWithValue("@musteri_id", musteriID); cmd.ExecuteNonQuery(); cmd_arac_bilgi.ExecuteNonQuery(); MessageBox.Show("Veriler Güncellendi"); } catch (Exception ex) { MessageBox.Show("HATA oluştu:\n" + ex.Message); } finally { baglanti.Close(); } } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { txt_AdiSoyadi.Text = dataGridView1.CurrentRow.Cells["adi_soyadi"].Value.ToString(); txt_Telefon.Text = dataGridView1.CurrentRow.Cells["telefon"].Value.ToString(); txt_Plaka.Text = dataGridView1.CurrentRow.Cells["plaka"].Value.ToString(); txt_Marka.Text = dataGridView1.CurrentRow.Cells["marka"].Value.ToString(); txt_Model.Text = dataGridView1.CurrentRow.Cells["model"].Value.ToString(); txt_Yil.Text = dataGridView1.CurrentRow.Cells["yil"].Value.ToString(); lbl_id.Text = dataGridView1.CurrentRow.Cells["id"].Value.ToString(); int musteriID = Convert.ToInt32(lbl_id.Text); } private void txt_Plaka_TextChanged(object sender, EventArgs e) { DataView dv = dt.DefaultView; dv.RowFilter = $"plaka LIKE '%{txt_Plaka.Text}%'"; dataGridView1.DataSource = dv; } private void btn_AracSil_Click(object sender, EventArgs e) { try { if (BoslukVar.Kontrol( txt_AdiSoyadi.Text, txt_Telefon.Text, txt_Plaka.Text, txt_Marka.Text, txt_Model.Text, txt_Yil.Text)) { MessageBox.Show("Text'ler boş bırakılamaz !!!"); return; } int musteriID = Convert.ToInt32(lbl_id.Text); baglanti.Open(); SqlCommand arac_sil = new SqlCommand("DELETE FROM arac_bilgileri WHERE musteri_id=@id", baglanti); arac_sil.Parameters.AddWithValue("@id", musteriID); arac_sil.ExecuteNonQuery(); SqlCommand sil_Musteri_Tablosu = new SqlCommand("DELETE FROM musteri_bilgileri WHERE id=@id", baglanti); sil_Musteri_Tablosu.Parameters.AddWithValue("@id", musteriID); sil_Musteri_Tablosu.ExecuteNonQuery(); MessageBox.Show("Silme işlemi başarılı"); MusteriListele(); } catch (Exception ex) { MessageBox.Show("HATA oluştu:\n" + ex.Message); } finally { baglanti.Close(); } } } }

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...