Site icon Akbuz

ASP.NET Otel Rezervasyon Sistemi Access Veritabanı

ASP.NET Otel Rezervasyon Sistemi Access Veritabanı

Yazılıma yeni başlayanlar için harika bir rehber olan Basit ASP.NET Otel Rezervasyon Sistemi ve Access Veritabanı kaynak kod projesi, web programlama mantığını kavramak adına önemli bir temel sunmaktadır. Bu çalışmada, ASP.NET otel rezervasyon sistemi süreçlerinin C# diliyle nasıl kurgulandığını ve Access veritabanı entegrasyonunun dinamik olarak nasıl sağlandığını adım adım inceliyoruz. Tamamen açık kaynak kodlu olarak paylaşılan bu otel rezervasyon sistemi kaynak kod ve proje dosyası, özellikle dinamik SQL sorgularını ve web form bileşenlerini öğrenmek isteyen geliştiriciler için hazır bir eğitim materyalidir.

Basit ASP.NET Otel Rezervasyon Sistemi ve Access Veritabanı Mimari İncelemesi

ASP.NET Web Forms mimarisi ile uygulama geliştirmeye başlanılan ilk dönemlerde, pratik kazanmak amacıyla tasarlanan projeler temel mantığı kavramak adına önemli birer basamaktır.

Bu projenin arayüz mimarisinde Master Page yapısı kullanılmamış; tüm görsel yerleşimler doğrudan geleneksel tablolama (Table) yöntemiyle kurgulanmıştır. Günümüz ölçeklenebilir yazılım dünyasında MVC (Model-View-Controller) yapıları çok daha efektif çözümler sunsa da, bu çalışma Web Forms bileşenlerinin ve yerel veritabanı entegrasyonunun temel mantığını kavramak isteyen geliştiriciler için harika bir referanstır.

👥

Topluluk Desteği

Geliştirilen açık kaynak kodlu projeler ve teknik içerikler düzenli olarak topluluk platformumuzda paylaşılmaktadır.

Gruba Katıl
💾

Kaynak Kodları

Projenin tüm kaynak kodlarına, arayüz bileşenlerine ve Access veritabanı dosyasına doğrudan erişin.

Proje Dosyasını İndir
Destek Rica: İçeriklerin devamlılığı için sitemizi ziyaret ederken reklam engelleme (AdBlock) yazılımlarınızı devre dışı bırakarak bizlere destek olabilirsiniz.

Sistem Altyapısı ve Teknik Bileşenler

Uygulama, dosya tabanlı ve taşınabilir yapısıyla öne çıkan yerel bir veritabanı altyapısıyla çalışmaktadır:

Geliştirme Katmanı .NET Framework / C# OOP
Veri Erişim Teknolojisi OleDbConnection Sağlayıcısı
Veritabanı Dosya Konumu App_Data/vt.accdb (MS Access)

Çekirdek Rezervasyon Motoru Kaynak Kodları

rezervasyon.aspx.cs dosyasının arka plan (Code-Behind) mantığı ve algoritmaları aşağıda listelenmiştir:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;

namespace Otel
{
    public partial class rezervasyon : System.Web.UI.Page
    {
        int sayac = 1;

        protected void Page_Load(object sender, EventArgs e)
        {
            // Kullanıcının mevcut rezervasyon verilerini yeniler
            rezer();
        }

        protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Çocuk sayısı değişim tetikleyicisi
        }

        protected void Calendar1_SelectionChanged(object sender, EventArgs e)
        {
            // Giriş tarihini TextBox bileşenine aktarır
            TextBox1.Text = this.Calendar1.SelectedDate.ToShortDateString();
        }

        protected void Calendar2_SelectionChanged(object sender, EventArgs e)
        {
            // Çıkış tarihini TextBox bileşenine aktarır
            TextBox2.Text = this.Calendar2.SelectedDate.ToShortDateString();
        }

        void rezer()
        {
            ListBox3.Items.Clear();
            ListBox3.Items.Add(">>>>> Mevcut Rezervasyonlarınız <<<<

Kod Analizi ve Refaktör Önerileri

1. Güvenlik: SQL Injection Riski

Sorgulardaki string birleştirme metodu ciddi güvenlik açığı üretir. Veritabanı güvenliği için dinamik sorgular yerine kesinlikle OleDbParameter kullanılmalıdır.

2. Algoritma: Ay Değişimlerinde Tarih Sınırı

Gün farkı takvim gününün integer değerinden parse edilmektedir. Bu durum, rezervasyon ayları sarktığında projenin kırılmasına yol açar. Fark hesabı TimeSpan ve gün ilerlemeleri .AddDays() ile yönetilmelidir.

3. Altyapı: Bağlantı Havuzu Yönetimi

Olası runtime hatalarında SQL bağlantısının havuzda açık kalıp sunucuyu şişirmemesi adına bağlantı blokları C# using() yapıları içine alınarak Garbage Collector'a bırakılmalıdır.

Açık kaynak projeler ve diğer teknik dokümanlar için sitemizin Yazılım kategorisini takip etmeye devam edin.

Exit mobile version