Ana içeriğe atla

Kayıtlar

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

INNER JOIN ile Silme İşlemleri

  INNER JOIN ile Silme İşlemleri 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 Personel_Sil : Form     {         public Personel_Sil()         {             InitializeComponent();         }         //DataGrid de Veri Tabanı Bilgilerini Gösterme         SqlConnection connection = new SqlConnection(@"Data Source=.;Initial Catalog=VT_Diagram;Integrated Security=True");         DataTable dt = new DataTable();         //Veri tabanı Bilgileri         void Verileri_Listele()         {           ...

INNER JOIN ile id ye göre Güncelleme işlemleri

 INNER JOIN ile id ye göre Güncelleme işlemleri : 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 Guncelle : Form     {         public Guncelle()         {             InitializeComponent();         }         SqlConnection connection = new SqlConnection(@"Data Source=.;Initial Catalog=VT_Diagram;Integrated Security=True");         DataTable dt = new DataTable();         void Guncelleme_Bilgileri()         {             try             {                 connec...

İki Farklı Tabloya INNER JOIN ile Veri Ekleme

INNER JOIN ile iki farklı tabloya veri ekleme işlemleri : Method ile kodu daha düzenli hale getirmek amaçlandı. 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 Ekleme_işlemleri : Form     {         public Ekleme_işlemleri()         {             InitializeComponent();         }         SqlConnection connection = new SqlConnection(@"Data Source=.;Initial Catalog=VT_Diagram;Integrated Security=True");         void Verileri_Ekle()         {             try             {                 ...

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()         {            ...

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

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

Id ye göre güncelleme işlemleri Where ve Join Örnek Kullanımı

  Id ye göre güncelleme işlemleri : private void btn_AracGuncelle_Click(object sender, EventArgs e) {     try     {         if (boslukVar.Kontrol(             txt_Plaka.Text,             txt_Marka.Text,             txt_Model.Text,             txt_Yil.Text,             txt_AdiSoyadi.Text,             txt_Telefon.Text))         {             MessageBox.Show("Araç ve Müşteri bilgileri boş bırakılamaz");             return;         }         connection.Open();         // 1. Araç Bilgilerini Güncelle (PLAKA’ya göre)         string arac_guncelle = "UPDATE arac_bilgileri SET marka=@marka, model=@model, yil=@yil WHER...

DataGrid de Sql başlıklarını Değiştirme Düzenleme

  DataGrid de Sql başlıklarını Değiştirme Düzenleme: void VerileriListele()  {     //Hata durumunda programın çökmesini engelleme try catch finally     try     {         //bağlantı açma         connection.Open();         // SQL JOIN sorgusu: İki tabloyu ortak sütun olan musteri_id üzerinden birleştir         string sorgu = @"          SELECT          a.plaka, a.marka, a.model, a.yil,          m.adi_soyadi, m.telefon                    FROM          arac_bilgileri a                                    JOIN          musteri_bilgileri m ON a.musteri_id = m.id";         //Sql den gelen verileri...

DataGrid de seçilen bilgillerin textlere aktarılması

  Dikkat : Burada DataGrid özelliği CellContentClick olmalı. private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {     // Tıklanan satırın index numarasını kontrol et     if (e.RowIndex >= 0)     {         DataGridViewRow row = dataGridView1.Rows[e.RowIndex];         // TextBox'lara hücredeki verileri atıyoruz         txt_Plaka.Text = row.Cells["plaka"].Value.ToString();         txt_Marka.Text = row.Cells["marka"].Value.ToString();         txt_Model.Text = row.Cells["model"].Value.ToString();         txt_Yil.Text = row.Cells["yil"].Value.ToString();         txt_AdiSoyadi.Text = row.Cells["adi_soyadi"].Value.ToString();         txt_Telefon.Text = row.Cells["telefon"].Value.ToString();     } }

Text Bigilerini Kontrol Etme

Class oluşturma Kontrol için : using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Araç_Bakım_Takip {     internal class boslukVar     {         public static bool Kontrol(params string[] alanlar)         {             foreach (string alan in alanlar)             {                 if (string.IsNullOrWhiteSpace(alan))                 {                     return true;                 }                             }             return false;         }     } } ************...

DataGrid de JOIN ile iki tablonun verileri Gösterme

 //Bağlantı Yolu SqlConnection connection = new SqlConnection(@"Data Source=.;Initial Catalog=Arac_Bakim_Takip;Integrated Security=True"); void VerileriListele()  {     //Hata durumunda programın çökmesini engelleme try catch finally     try     {         //bağlantı açma         connection.Open();         // SQL JOIN sorgusu: İki tabloyu ortak sütun olan musteri_id üzerinden birleştir          // SQL JOIN sorgusunu C# yazma string sorgu=@"";         string sorgu = @"          SELECT          a.plaka, a.marka, a.model, a.yil,          m.adi_soyadi, m.telefon                   FROM          arac_bilgileri a                          ...

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

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();   ...

try catch finally Hata Denetim Alıştırması

  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace try_catch_finally {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         private void btnHesapla_Click(object sender, EventArgs e)         {             try //program kodları buraya yazılacak             {                 //txt alanlarına yazılan sayıları int olarak çevirmek için convert kullandık                 int say1, say2, toplam;//girilen değerleri int tam sayı olarak tanınması     ...

Değer Döndüren Metot

  using System.Runtime.InteropServices; namespace Metod_Değer_Döndüren_Metot {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         //Parametre Almayan ve  Değer Döndüren (Return) Metot         string Mesaj()          {             return"Metod Çağrıldı"; //Değerimiz Çağrıldığında çalışacak döndürülecek Metodumuz         }         //Değer Alan Parametre Döndüren Metot         int topla(int a, int b)          {             return a + b; //Döndürülecek olan Method         }         // return: Metot çalıştığında bir değer döndürmesini sağlar.  ...

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

Microsoft.Data.SqlClient Örnek VeriTabanı

using System; using System.Data; using Microsoft.Data.SqlClient;//Install-Package Microsoft.Data.SqlClient using System.Windows.Forms; namespace Sql_Try {     public partial class Form1 : Form     {         SqlConnection sqlVT = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL;Initial Catalog=My_Form;Integrated Security=True;Encrypt=True;Trust Server Certificate=True");         public Form1()         {             InitializeComponent();         }         private void button2_Click(object sender, EventArgs e)         {             Application.Exit();         }         private void button1_Click(object sender, EventArgs e)         {             string Name = textBox_isim.Text;         ...

C# Delete

//using System.Data.SqlClient; //Yeni Güncelleme geldi //Araçlar>NuGet Paket Yöneticisi>Paket yöneticisi Konsole //Install-Package Microsoft.Data.SqlClient //Kodu Yapıştırdık //using System.Data.SqlClient;  Microsoft.Data.SqlClient şeklinde değiştir ve Sorun Çözüldü //Problem SqlConnection bağlantısının altı ve üzeri çizili idi yeni version 9 geldiği için yukarıdaki değişiklikler yapıldı using Microsoft.Data.SqlClient; namespace Update {     public partial class Form1 : Form     {         SqlConnection sqlBaglanti = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL\SQLEXPRESS;Initial Catalog=TestVT;Integrated Security=True;TrustServerCertificate=True");         public Form1()         {             InitializeComponent();         }         //Güncelleme İşlemi         private void button1_Click(object sender, Even...

C# Update

  //using System.Data.SqlClient; //Yeni Güncelleme geldi //Araçlar>NuGet Paket Yöneticisi>Paket yöneticisi Konsole //Install-Package Microsoft.Data.SqlClient //Kodu Yapıştırdık //using System.Data.SqlClient;  using Microsoft.Data.SqlClient;   şeklinde değiştir ve Sorun Çözüldü //Problem SqlConnection bağlantısının altı ve üzeri çizili idi yeni version 9 geldiği için yukarıdaki değişiklikler yapıldı using Microsoft.Data.SqlClient; namespace Update {     public partial class Form1 : Form     {         SqlConnection sqlBaglanti = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL\SQLEXPRESS;Initial Catalog=TestVT;Integrated Security=True;TrustServerCertificate=True");              public Form1()         {             InitializeComponent();         }         private void button1_Click(object sender, EventA...