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

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