C# Windows Forms ile Veritabanına Kayıt Ekleme

C# ile masaüstü uygulamaları geliştirirken, veritabanı işlemleri neredeyse her zaman karşımıza çıkar. Bu yazıda, Windows Forms (WinForms) kullanarak SQL Server veritabanına nasıl veri kaydedileceğini adım adım öğreneceksiniz. Örnek uygulama, yeni başlayanlardan deneyimlilere kadar herkes için oldukça faydalı ve öğretici olacak.

🔧 1. Giriş: Neden Veritabanına Kayıt Gerekir?

C# ile geliştirilen masaüstü programlarda kullanıcı bilgileri, müşteri kayıtları, ürün listeleri gibi verileri saklamak gerekir. Bunun en sağlıklı ve profesyonel yolu bir veritabanı kullanmaktır. Biz bu örnekte SQL Server veritabanı kullanacağız.


🗂️ 2. Veritabanı ve Tabloyu Oluşturma

İlk adım, SQL Server Management Studio (SSMS) ya da Visual Studio’nun kendi araçlarıyla veritabanını ve tabloyu oluşturmaktır.

CREATE DATABASE TestDB;

USE TestDB;

CREATE TABLE Kisiler (
    Id INT PRIMARY KEY IDENTITY,
    Ad NVARCHAR(50),
    Soyad NVARCHAR(50)
);

📌 Bu komutlarla TestDB adında bir veritabanı ve Kisiler adında bir tablo oluşturduk.


🖼️ 3. Form Tasarımı (Windows Forms)

Visual Studio’da yeni bir Windows Forms App (.NET Framework) projesi açın. Formun üzerine aşağıdaki bileşenleri ekleyin:

  • 2 adet TextBoxtxtAd, txtSoyad
  • 1 adet ButtonbtnKaydet, Text: “Kaydet”

Bu form, kullanıcıdan ad ve soyad alıp veritabanına ekleyecek.


💾 4. SQL Server’a Bağlantı ve Kayıt Ekleme

Şimdi C# tarafında veritabanına bağlanıp veriyi ekleyen kodu yazalım:

using System;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace VeritabaniOrnek
{
    public partial class Form1 : Form
    {
        string connectionString = "Server=.;Database=TestDB;Trusted_Connection=True;";

        public Form1()
        {
            InitializeComponent();
        }

        private void btnKaydet_Click(object sender, EventArgs e)
        {
            string ad = txtAd.Text;
            string soyad = txtSoyad.Text;

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                string query = "INSERT INTO Kisiler (Ad, Soyad) VALUES (@Ad, @Soyad)";
                SqlCommand cmd = new SqlCommand(query, conn);
                cmd.Parameters.AddWithValue("@Ad", ad);
                cmd.Parameters.AddWithValue("@Soyad", soyad);

                try
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("Kayıt başarıyla eklendi!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Hata oluştu: " + ex.Message);
                }
            }
        }
    }
}


🔐 5. SQL Injection’a Karşı Güvenlik Önlemleri

Kodda gördüğünüz @Ad ve @Soyad gibi ifadeler SQL parametresidir. Bu parametreler sayesinde kullanıcıdan gelen veri doğrudan sorguya dahil edilmez, böylece SQL Injection gibi saldırılar engellenmiş olur.

cmd.Parameters.AddWithValue("@Ad", ad);

guest
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
0
YORUM YAPx