Sinema Rezervasyon Programı — C#

Sinema Rezervasyon Programı — C#

Giriş Formu

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;//www.gorselprogramlama.com

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace Sinema_Rezervasyon_Otomasyonu

{

public partial class frmGenel : Form

{

public frmGenel()

{

InitializeComponent();

}

OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Ace.Oledb.12.0;Data Source=sinema.accdb");

void baglantiKur()

{

if (connect.State == ConnectionState.Closed)

{

connect.Open();

}

}//www.gorselprogramlama.com

private void btnRezerve_Click(object sender, EventArgs e)

{

if (cbSalon.SelectedIndex != -1 && cbFilm.SelectedIndex != -1 && cbSeans.SelectedIndex != -1)

{

frmRezervasyon rezerve = new frmRezervasyon();

rezerve.film_Adi = cbFilm.Text;

rezerve.salon_Adi = cbSalon.Text;

rezerve.seans = cbSeans.Text;

rezerve.Show();

this.Hide();

}

else

{

MessageBox.Show("Lütfen film bilgilerini eksiksiz doldurunuz.");

}

} //www.gorselprogramlama.com

void bilgiAl(string sql , ComboBox cmb)

{

cmb.Items.Clear();

baglantiKur();

OleDbCommand cmd = new OleDbCommand(sql, connect);

OleDbDataReader oku = cmd.ExecuteReader();

while (oku.Read())

{

cmb.Items.Add(oku[1].ToString());

}

connect.Close();

}

//www.gorselprogramlama.com

private void cbSalon_Click(object sender, EventArgs e)

{

bilgiAl("SELECT * FROM salon", cbSalon);

}

private void cbFilm_Click(object sender, EventArgs e)

{

bilgiAl("SELECT * FROM filmler", cbFilm);

}

private void btnFilmEkle_Click(object sender, EventArgs e)

{

frmFilmKayit frmK = new frmFilmKayit();

frmK.Show();

this.Hide();

}//www.gorselprogramlama.com

}

}

[/code]

Rezervasyon Formu

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;//www.gorselprogramlama.com

using System.Data.OleDb;

using System.Collections;

namespace Sinema_Rezervasyon_Otomasyonu

{

public partial class frmRezervasyon : Form

{

public frmRezervasyon()

{

InitializeComponent();

}

public string film_Adi = "";

public string salon_Adi = "";

public string seans = "";

ArrayList koltuklar = new ArrayList();

ArrayList iptalKoltuk = new ArrayList();

int filmID = 0;

int salonID = 0;

OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Ace.Oledb.12.0;Data Source=sinema.accdb");

void baglantiKur()//www.gorselprogramlama.com

{

if (connect.State == ConnectionState.Closed)

{

connect.Open();

}

}

private void btnMenu_Click(object sender, EventArgs e)

{

frmGenel frmG = new frmGenel();

frmG.Show();

this.Hide();

}

private void btnKoltuk_Click(object sender, EventArgs e)

{

//if (((Button)sender).BackColor != Color.Red)

if (((Button)sender).BackColor == Color.Chartreuse) // yeşil

{

((Button)sender).BackColor = Color.Orange;

if (!koltuklar.Contains(((Button)sender).Text))

{

koltuklar.Add(((Button)sender).Text);

}

koltukYazdir();//www.gorselprogramlama.com

}

else if (((Button)sender).BackColor == Color.Orange) // turuncu

{

((Button)sender).BackColor = Color.Chartreuse;

if (koltuklar.Contains(((Button)sender).Text))

{

koltuklar.Remove(((Button)sender).Text);

}

koltukYazdir();

}

else // kırmızı

{

if (!iptalKoltuk.Contains(((Button)sender).Text))

{

iptalKoltuk.Add(((Button)sender).Text);

}

else //www.gorselprogramlama.com

{

iptalKoltuk.Remove(((Button)sender).Text);

}

string koltuk = "";

for (int i = 0; i < iptalKoltuk.Count; i++)

{

koltuk += iptalKoltuk[i].ToString() + ",";

}

if (iptalKoltuk.Count >= 1)

{

koltuk = koltuk.Remove(koltuk.Length – 1, 1);

}

txtKoltukIptal.Text = koltuk;

}

}

void koltukYazdir()

{

string koltuk = "";

for (int i = 0; i < koltuklar.Count; i++)

{

koltuk += koltuklar[i].ToString() + ",";//www.gorselprogramlama.com

}

if (koltuklar.Count >= 1)

{

koltuk = koltuk.Remove(koltuk.Length – 1, 1);

}

txtKoltukNo.Text = koltuk;

}

private void frmRezervasyon_Load(object sender, EventArgs e)

{

lblFilmAdi.Text = film_Adi;

lblSalonSeans.Text = salon_Adi + " / " + seans;

timer1.Enabled = true;

filmID = Convert.ToInt32(araGetir("SELECT * FROM filmler WHERE film_Adi=’" + film_Adi + "’"));

salonID = Convert.ToInt32(araGetir("SELECT * FROM salon WHERE salon_Adi=’" + salon_Adi + "’"));

LogAl();//www.gorselprogramlama.com

}

private void timer1_Tick(object sender, EventArgs e)

{

lblSaat.Text = DateTime.Now.ToLongTimeString();

lblTarih.Text = DateTime.Now.Date.ToShortDateString();

}

string araGetir(string sql)

{

baglantiKur();

OleDbCommand cmd = new OleDbCommand(sql, connect);

OleDbDataReader oku = cmd.ExecuteReader();

oku.Read();

string deger = oku[0].ToString();

connect.Close();//www.gorselprogramlama.com

return deger;

}

void biletAyir()

{

baglantiKur();

string ucret = "";

if (rbOgrenci.Checked) ucret = "6";

else ucret = "10";

for (int i = 0; i < koltuklar.Count; i++)

{

string sql = "INSERT INTO satis(film_ID,salon_ID,tarih,seans,satis_Adi,satis_Soyadi,koltuk_No,ucret) VALUES (" + filmID + "," + salonID + ",’" + lblTarih.Text + "’,’" + seans + "’,’" + txtAdi.Text + "’,’" + txtSoyadi.Text + "’," + Convert.ToInt32(koltuklar[i]) + ",’" + ucret + "’)";

OleDbCommand cmd = new OleDbCommand(sql, connect);

cmd.ExecuteNonQuery();

this.Controls.Find("btn" + koltuklar[i].ToString(), true)[0].BackColor = Color.Red;

}

connect.Close();//www.gorselprogramlama.com

}

private void btnBiletAyir_Click(object sender, EventArgs e)

{

if (txtKoltukNo.Text != "")

{

if (txtKoltukNo.Text != "" && txtAdi.Text != "" && txtSoyadi.Text != "")

{

biletAyir();

MessageBox.Show(txtAdi.Text + " " + txtSoyadi.Text + " bilgili kişinin " + txtKoltukNo.Text + " no’lu koltukları ayrılmıştır");

txtKoltukNo.Text = "";

txtAdi.Text = "";

txtSoyadi.Text = "";//www.gorselprogramlama.com

koltuklar.Clear();

}

else

{

MessageBox.Show("Tüm bilgileri eksiksiz doldurmalısınız.");

}

}

else

{

MessageBox.Show("Koltuk numarasını seçmediniz.","Dikkat");

}

}

void LogAl()

{

baglantiKur();

string sql = "SELECT * FROM satis WHERE film_ID=" + filmID + " AND salon_ID=" + salonID + " AND seans=’" + seans + "’";

OleDbCommand cmd = new OleDbCommand(sql, connect);

OleDbDataReader oku = cmd.ExecuteReader();

while (oku.Read())

{

string koltuk_No = oku[7].ToString();

this.Controls.Find("btn" + koltuk_No, true)[0].BackColor = Color.Red;

}

connect.Close();//www.gorselprogramlama.com

}

private void btnBilet_iptal_Click(object sender, EventArgs e)

{

if (txtKoltukIptal.Text != "")

{

baglantiKur();

for (int i = 0; i < iptalKoltuk.Count; i++)

{

string sql = "DELETE FROM satis WHERE koltuk_No=" + Convert.ToInt32(iptalKoltuk[i]);

OleDbCommand cmd = new OleDbCommand(sql, connect);

cmd.ExecuteNonQuery();

this.Controls.Find("btn" + iptalKoltuk[i].ToString(), true)[0].BackColor = Color.Chartreuse;

}

connect.Close();

iptalKoltuk.Clear();//www.gorselprogramlama.com

MessageBox.Show(txtKoltukNo.Text + " koltuk numaraları bileti iptal edilmiştir.");

txtKoltukIptal.Text = "";

txtAdi.Text = "";

txtSoyadi.Text = "";

}

else

{

MessageBox.Show("Koltuk numarasını seçmediniz.");

}

}

private void frmRezervasyon_FormClosing(object sender, FormClosingEventArgs e)

{

frmGenel frmG = new frmGenel();

frmG.Show();

}//www.gorselprogramlama.com

}

}

[/code]

Film Kayıt Formu

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace Sinema_Rezervasyon_Otomasyonu

{

public partial class frmFilmKayit : Form

{

public frmFilmKayit()

{

InitializeComponent();

}

OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Ace.Oledb.12.0;Data Source=sinema.accdb");

void baglantiKur()

{

if (connect.State == ConnectionState.Closed)

{

connect.Open();

}

}

private void frmFilmKayit_FormClosing(object sender, FormClosingEventArgs e)

{

frmGenel frmG = new frmGenel();

frmG.Show();

}

private void btnEkle_Click(object sender, EventArgs e)

{

baglantiKur();

string sql = "INSERT INTO filmler(film_Adi,yonetmen,film_tur) VALUES(‘" + txtFilmAdi.Text + "’,’" + txtYonetmen.Text + "’,’" + txtTur.Text + "’)";

OleDbCommand cmd = new OleDbCommand(sql, connect);

cmd.ExecuteNonQuery();

connect.Close();

MessageBox.Show(txtFilmAdi.Text + " / " + txtYonetmen.Text + " / " +txtTur.Text + " filmi eklendi");

txtFilmAdi.Text = "";

txtTur.Text = "";

txtYonetmen.Text = "";

}

}

}

[/code]

Ümit Demirtaş

Projeyi İNDİR

Yorumlar 77

  • Yeni film ekle butonunda bi yandada silme arama yapıp sonra silme komutları olursa sevinirim.

  • serhat :
    ekletiler için gorselprogram@gmail.com adresine mail atınız.

  • Teşekkürler. Elinize sağlık

  • combolar ilişkili olursa daha anlamlı olurmuş (şehirlere göre ilçelerin gelmesi mantığı) 🙂

  • Emeğinize sağlık. Projeyi indirdiğimde visual çalışma sayfalarını açamıyorum nedenini öğrenebilirmiyim

  • aysenur:
    kullandığın eski sürüm olabilir.Yeni sürüm yüklemelisin.

  • 2010 sürümü kullanıyorum şu anda .. uyulamanın sürmü nedir.. uygulamayı sizden mail yoluyla alma imkanım var mı ????

  • aysenur:
    2010.Yukarıdaki Projeyi İNDİR linkinden indirebilirsiniz.

  • program üzerinde değişiklik yapmak istiyorum kaydediyorum fakat program çalıştığında yaptığım değişiklikler görünmüyor ne yapabilirm?

  • aslıhan :
    programın çalışmasını sağlayan bir dosya silmiş olabilirsin.projeyi gorselprogram@gmail.com mail atınız hataya bakalım.

  • lütfen program dosyasını yollayın inceleyip öğrenmek istiyorum ticari amaçlı kullanılmayacaktır.

  • onur:
    Yukarıdaki Projeyi İNDİR linkinden indirebilirsiniz.

  • mrb bu projenin rezervasyon kodlarını silmek istorum fakat sildiğim halde exe de değişiklk olmuyor exe yi yeniden oluştursam bu hata giderilirmi

  • btn_koltuk hangisidir

  • aslıhan :
    projede yaptığın değişiklikler sen çalıştırdığın anda exe’de uygulanıyor.Farklı bir yerde hata yapıyor olabilirsin.

  • eray temel :
    tüm koltukların ortak adı.

  • peki bunu bütün koltukları seçip mi yaptınız
    @admin

  • eray temel :
    evet.

  • ben tasarım ekkranını göremiyorum programda yardımcı olursanız sevinirim

  • yok:
    solution explorer penceresinden herhangi bir foma çift tıkla.

  • bu tasarımı raporu varmı veya neler kullandıgımızla ilgi detaylı bişekilde rapor yazı varmı varsa atarmısınız

  • niyazi:
    Rapor olarak yok.Projede neler kullanıldığına yukarıdaki Projeyi İNDİR linkine tıklayıp projeyi bilgisayarınıza indirerek bakabilirsiniz.

  • okul takip programı varmı varsa windows kodlarıyla atabilirmisiniz lütfen:)

  • rumeysa:
    Proje isteklerini gorselprogram@gmail.com‘a mail atınız.

  • btnkoltuk_clik olayını anlamadım lütfen biraz acık bi şekilde anlatırmısnız

  • butun koltukları secip ismini nasıl btnkoltuk yaptınız?

  • kübra :
    Tüm butonları seçip Propertiesten–Events . Daha sonra Click olayına btnkoltuk yazıp çift tıklıyoruz.

  • eveet bulduum zaten yinede çok tesekkur ederim 🙂

  • bi şeyi daha merak ettim. seçilen koltuk bilet al dedikten sonra sonra kırmızı oluyo fakat programı kapatıp tekrar actığımda dolu olan koltukları göremiyorum yardımcı olabilirmisizn?

  • kübra :
    Veri tabanına kayıt etmiyo olabilir. Veya koltukları kırmızı yapan kodlarda sıkıntı var.

  • ver itabanını yapamadım yardımcı olurmusunuz

  • nursel :
    Veri tabanı bin-debug klasöründe var.

  • Merhaba bu projeyi ödevimde kullamak istiyorum fakat daha fazla bilgi alabilmem mümkün mü hem veri tabanı hemde kodlarla ilgili birebir iletişime geçmemiz mümkün mü?

  • Deniz :
    Veri tabanı proje içinde mevcut.

  • merhaba benimde sinema otomasyonu projem var koltuklar diye arraylist e yapmışsınız onu hangi bölüme yazdınız ve o olmadan olmuyor mu ?

  • merhaba bende bu programı yazıyorum benım programımda coklu koltuk secımı yapıyorum secılıyken renk mavı bılet al deıkten snra dolu sekılde bordo olsun ıstyrm ve allta lıstboa aktrlsn ıstyrm nasıl yazabbılırım yrdmcı olrmsnz?

  • kubra :
    ilk seçili iken butonun baccolorunu mavi (bunu mod komutu ile yapabilirsin.Tek ise mavi çift ise bordo) , ikinci seçili iken bordo.Ve sonra listbox.items.Add(“eklemek istediğin bilgi”)

  • Elinizde algoritması var mı?

  • melek : maalesef hayır. Ama yazabiliriz.Yazılmasını istiyorsanız gorselprogram@gmail.com mail atınız.

  • Seans tarihlerini nereden çekiyor ?

  • bana acıl proje lazım yardm ececek birileri var mı !!!

  • S.a rezarvasyon formunu flan hazırladık veri tabanına eklendi diyo ama veri tabanını açtığımızda gözükmüyo eklememiş gibi oluyor ekleyince renk kısmı da çalışmıyo aynı zaman da bu konuda yardımcı olabilirmisiniz..

  • Murat :
    inser into sorgu ifadesinde hata olabalir.
    En son executenonquery metonu yazmamış olabilirsiniz.

  • O konuyu hallettik teşekkürler.. Ama şöyle bi sıkıntımız var Anamenüdeki combobaxa seans bilgilerini nasıl çektiniz ?

  • Çoklu koktuk seçiminde, text-box a koltuk numaraları geliyor vazgeçtiğimizde texboxtan siliniyor. Sanırım bunu dizi yoluyla yaptınız biraz kodları açıklayabilirmisiniz.

  • Mustafa :
    Arralist koltuklar isimli koleksiyon dizisi ekleme ve çıkarma işlemi ile yapılıyor.koltuklar.Add diziye ekliyor,koltuklar.Remove diziden siliyor.

  • merhaba arkadaslar

    this.Controls.Find(“btn” + koltuklar[i].ToString(), true)[0].BackColor = Color.Red;
    komut parçasında ki “btn” ne işe yarıyor yardımcı olabilirmisiniz teşekkürler

  • ridvan :
    Seçilen film ve seansa göre veri tabanında kayıt olan koltukları yani dolu olanların kırmızı olmasını sağlıyor.

  • veri tabanı kısmı yokmu burda

  • muhammet :
    Veri tabanı Access dosyası indirdiğiniz rar dosyası içindeki bin-debug klasöründe

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir