Ana içeriğe atla

C# Forms ve ADO.NET ile SQL Server 2022'de SQLConnection bağlantısı ile INSERT İşlemi

// SQL bağlantı yolu için sistem paketinin yüklenmesi

using System;

using System.Data.SqlClient;

using System.Windows.Forms;


namespace VeriTabanıTestProjesi

{

    public partial class Form1 : Form

    {

        // SQL bağlantı nesnesinin tanımlanması

        SqlConnection sqlBaglanti = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL\SQLEXPRESS;Initial Catalog=TestVT;Integrated Security=True");


        public Form1()

        {

            InitializeComponent();

        }


        private void button1_Click(object sender, EventArgs e)

        {

            // Veri Tabanında oluşabilecek hataların yakalanması

            try

            {

                // SQL bağlantısının açılması

                sqlBaglanti.Open();


                // Parametreli SQL komutu oluşturma

                // Parametre kullanarak SQL Injection riskini azaltmak için Parametre @p kullanma:

                //Parametreli Sorgu Kullanımı: SQL Injection riskini ortadan kaldırmak için;

                //@p1, @p2, @p3, @p4 gibi parametreler kullanıldı.

                //Personel Tablosundaki Kolon İsimleri

                string sqlCumlesi = "INSERT INTO Personel (PersonelNo, Ad, Soyad, Adres) VALUES (@p1, @p2, @p3, @p4)";

                SqlCommand sqlCommand = new SqlCommand(sqlCumlesi, sqlBaglanti);


                // Parametre Verilerinin işlenmesi


                sqlCommand.Parameters.AddWithValue("@p1", textBox1.Text);

                sqlCommand.Parameters.AddWithValue("@p2", textBox2.Text);

                sqlCommand.Parameters.AddWithValue("@p3", textBox3.Text);

                sqlCommand.Parameters.AddWithValue("@p4", textBox4.Text);


                // SQL komutunun çalıştırılması ve verinin veri tabanına eklenmesi

                sqlCommand.ExecuteNonQuery();

                MessageBox.Show("Personel Verileri Veri Tabanına Kayıt Edilmiştir.");


                // TextBox'ların temizlenmesi

                textBox1.Clear();

                textBox2.Clear();

                textBox3.Clear();

                textBox4.Clear();

            }

            catch (Exception ex)

            {

                // Veri tabanı bağlantı hatasının kullanıcıya gösterilmesi

                //hata mesajını göstermek için ex.Message

                MessageBox.Show("Veri Tabanı Bağlantı Hatası Oluştu: " + ex.Message);

            }

            finally

            {

                // SQL bağlantısının kapatılması

                if (sqlBaglanti != null)

                    sqlBaglanti.Close();

            }

        }

    }

}


#Veri Tabanı Görseli :



Kodun Yapısı :

//Veri tabanı bağlantı
SqlConnection sqlBaglanti = new SqlConnection (@"");

//Verilerin ve işlemlerinin uygulanması
try 
{
    //Veri tabanı bağlantısını açma
    sqlBaglanti.Open();

    //Tablo başlıklıklarının parametre olarak yazılması
    string sqlCumlesi = "INSERT INTO Personel (VT Başlıklar) VALUES (@parametreler)";
    SqlCommand sqlCommand = new SqlCommand(sqlCumlesi, sqlBaglanti);

    //Form araçlarının tanıtılması
    sqlCommand.Parameters.AddWithValue("@p1", textBox1.Text);

    //Veri tabanında kayıt ekleme silme düzenleme işleminin yapılması
    sqlCommand.ExecuteNonQuery();
}
//Hataların yakalanması
catch (Exception ex) 
{
    MessageBox.Show("Veri Tabanı Bağlantı Hatası Oluştu: " + ex.Message);
}

//İşlemlerin sonunda: Finalde ve Hata Durumunda Bağlantıyı kapatması
finally 
{
    // SQL bağlantısının kapatılması

    if (sqlBaglanti != null)

        sqlBaglanti.Close();
}

Visual Stduio Güncellendi konu ile ilgili C# UPDATE bakınız.

Yorumlar

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

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

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