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]








merhaba yeni film ekle diyorum System.InvalidOperationException: ‘Microsoft.Ace.Oledb.12.0’ sağlayıcısı yerel makine kayıtlı değil. hatası veriyo ne yapmam lazım
muhammet ahıska :
Access versiyon sorunu olabilir.Eğer Access 2007 ,2010 veya 2013 kullanıyorsan access 2003 kurmalısın veya kodlarda jet yerine ace , 4.0 yerine 12.0 ve veri tabanı ismi data.accdb olmalı.Tabi veri tabanını 2007 veya 2010 veya 2013′te açıp 2007 ,2010 veya 2013 olarak kaydetmelisin.Veri tabanı bin–>debug klasöründe.
araGetir metodu ne ise yariyor. Orta hata veriyor benim :S
talha :
Seçilen filme ve salona ait ID bilgilerini getiriyor.
OleDbConnection connect = new OleDbConnection(“Provider=Microsoft.Ace.Oledb.12.0;Data Source=sinema.accdb”);
void baglantiKur()
{
if (connect.State == ConnectionState.Closed)
{
connect.Open();
An unhandled exception of type ‘System.InvalidOperationException’ occurred in System.Data.dll
Additional information: ‘Microsoft.Ace.Oledb.12.0’ sağlayıcısı yerel makine kayıtlı değil.
bunun için ne yapmalıyım
muhammet ahıska :
Access versiyon sorunu olabilir.Eğer Access 2007 ,2010 veya 2013 kullanıyorsan access 2003 kurmalısın veya kodlarda jet yerine ace , 4.0 yerine 12.0 ve veri tabanı ismi data.accdb olmalı.Tabi veri tabanını 2007 veya 2010 veya 2013′te açıp 2007 ,2010 veya 2013 olarak kaydetmelisin.Veri tabanı bin–>debug klasöründe.
Rezervasyon formunda neye göre rengi değiştiriyor hangi kod bloğu örneğin satmadan önce yeşilken seçili iken sarı satınca kırmızı olmasını neye göre yapıyoruz mousun tıklamasınamı yada başka bişeye göre mi ?
Murat:
*** ilk olarak Yeşil.
*** btnKoltuk_Click olayında ((Button)sender).BackColor = Color.Orange; komutu ile turuncu işlemi
*** this.Controls.Find(“btn” + koltuklar[i].ToString(), true)[0].BackColor = Color.Red komutu ile de bilet ayır dedikten sonra kırmızı renk oluyor.
Tabiki bunu sadece bu komutlar değil yanındaki diğer komutlarıda incelemen gerekir.
e-mail attım ancak dönüş yapmadınız tapu otomasyonu hakkında yardımcı olabilir misiniz?
serhat atalay :
E mail cevaplandı .
reis bu programı ındırdım sonrasında setup halıne getrdım ama normal sekılde calsııyodu am setupdan sonra verı tabanı hatası verıyo bı dönus yaparsan bana sevınırım
mberat :
Aşağıdaki linki incele.
http://www.gorselprogramlama.com/setup-hazirlama-ders-108-csharp-accesss/
AraGetir kısmında
string deger = oku[0].ToString(); hata veriyor aynı program ama bende ki aspx ile yapıldı cs ile değil.
InvalidOperationException was unhandled by user code
Satır/Sütun için hiç veri yok hatası veriyor neden acaba
hasan :
çevirme yaparken kodu eksik yazmış olabilirsiniz. Kodun tamamına bakmak lazım.
Merhaba programa bir datagridview ekledim bu datagridview seçilen filme göre kayıtları göstersin istiyorum fakat bunu nasıl yapacağım ? örnek vereyim mesela program seçili filme göre hangi koltukların dolu boş olduğunu gösterebiliyor bende aynı şekilde seçili filme göre o filmden yapılmış olan satışları veri tabanından çekecek ve bu satışları oluşturduğum datagridview’de gösterecek ama bir türlü gösteremedim lütfen yardımcı olurmusunuz ? hangi kodları yazmam gerekiyor ?
açarken kullanıcı adı şifre istemesi iyi olurdu
Sinema koltuklarını ne ile yapacağız acaba
@Şeyma
Ayrıca veri tabanını comboBox a atamıyorum neden acaba yardımcı olabilirseniz sevinirim
bunun kaynak kodlarına yada access veri tabanı dosyasına nasıl olaşabilirim. yardımcı olursanız sevinirim
@emrullah
projeyi indir dediğin zaman zipli hali geliyor ordan ulaşabilirsin
Keşke yaparken videoya çekip youtube de yayınlasaydınız. Şuan yapmak çok zor ve karmaşık.
@admin
Merhaba iyi çalışmalar.
Bende de hata veriyor(Hata:System.InvalidOperationException: ‘Satır/sütun için hiç veri yok.’)
Ne yapabilirim?
Şimdiden Teşekkürler.
@admin
Merhabalar,
Bu çalışmayı Access ile değil de MYSQL ile çalıştırabilir miyiz? Bilgilendirirseniz sevinirim.
Projenin Db dosyalarını alma şansımız var mı acaba
Bin – debug klasüründe
Forr
rsion=”v12.0″ sku-“.NET FrameworkVersion-v4.7.2” />
Sinema Bileti.exe – This application could not be started.
This application requires one of the following versions of the
.NET Framework:
.NET Framework Version=v4.7.2
Do you want to install this .NET Framework version now?
Evet
Hayır
ÇÖZEMİYORUM BU HATAYI İNTERNETTE BULAMADIM. ÖDEVİM İÇİN ACİL GEREKLİ LÜTFEN YARDIM EDİN @admin
Çözümdeki bir veya daha fazla proje düzgün olarak yüklenemedi.
Ayrıntılar için Çıkış Penceresini’ne bakın.
hatasını veriyor ve düzelmiyor sebebi nedir