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

INNER JOIN Silme İşleminde REFERANCE Hatası

 SQL 'de INNER JOIN için ben diagram kullandım ama silme işlemleri için bu hataya yol açtı kodlar yazıldıktan sonra. Sillme işleminin yapıla bilmesi için : Diagram üzerinden "ON DELETE CASCADE" ekleme SSMS’te veritabanını aç. Database Diagrams → kullandığın diyagramı aç. isim tablosu ile soyisim tablosu arasındaki ilişki çizgisine çift tıkla . INSERT and UPDATE Specification bölümünü bul. Delete Rule → Cascade olarak değiştir. Kaydedip diyagramı kapat.   2️⃣ SQL komutuyla ekleme (manuel yöntem) Eğer diyagramdan uğraşmak istemiyorsan, SQL koduyla da ekleyebilirsin: ALTER TABLE Soyisim DROP CONSTRAINT FK_Soyisim_Isim;  -- Burada mevcut foreign key adını yazacaksın ALTER TABLE Soyisim ADD CONSTRAINT FK_Soyisim_Isim FOREIGN KEY (isim_Id) REFERENCES Isim(isim_Id) ON DELETE CASCADE; ON DELETE CASCADE tamamen silme işlemleri için tanımlanan bir FOREIGN KEY davranış kuralıdır. Normal FOREIGN KEY : Ana tabloda bir kayıt silmek istersen ve bu kayıt başka ...

DataGrid 'e Veri Tabanından Verileri Çekme

 İki farklı tablo INNER JOIN ile birleştirilmiş sorgularının veri tabanında ki verilerin DataGridView 'e aktarılması işlemi: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Delete_Pro {     public partial class Try : Form     {         public Try()         {             InitializeComponent();         }         SqlConnection connection=new SqlConnection(@"Data Source=.;Initial Catalog=VT_Diagram;Integrated Security=True");         DataTable dt = new DataTable();         //Veri tabanı Bilgileri         void Verileri_Listele()         {            ...