none
Dizin, Dizi Sınırları Dışındaydı RRS feed

  • Soru

  • Merhaba Arkadaşlar Ben Sinema Otomasyon Projesi Yapıyorum , Veritabanından satılmış olan koltukları çekmem lazım fakat Dizin, Dizi Sınırları Dışındaydı Hatasıyla Karşılaşıyorum.

    Kodlar;

     void Kayital()
            {
                DateTime Tarih = DateTime.Parse(txtTarih.Text);
                
                bag.Open();
                kmt = new OleDbCommand("SELECT * FROM "+txtSalon.Text+" WHERE  Film_Adi=@Film AND Seans=@Seans AND SeansTarihi=@Tarih", bag);
                         
                kmt.Parameters.AddWithValue("@Film", txtFilm.Text);
                kmt.Parameters.AddWithValue("@Seans", txtSeansBilgi.Text);
                kmt.Parameters.AddWithValue("@Tarih", Tarih.ToShortDateString());          
                OleDbDataReader oku = kmt.ExecuteReader();
                while (oku.Read())
                {
                    string koltuk_No = oku[1].ToString();
    
                    this.Controls.Find(koltuk_No.ToString(), true)[0].BackColor = Color.Gainsboro;
                    this.Controls.Find(koltuk_No.ToString(), true)[0].Enabled = false;
                }
                bag.Close();
            }


    2 Haziran 2015 Salı 12:16

Yanıtlar

  • Sorunu Çözdüm Ekleme yaparken bir hata oluşuyor ve veritabanına arraylist diye kayıt oluşuyormuş ekleme kısmını düzeltince program normal bir şekilde çalışmaya başladı teşekkür ederim.
    • Yanıt Olarak İşaretleyen Serkan Canseven 8 Haziran 2015 Pazartesi 14:56
    2 Haziran 2015 Salı 13:30

Tüm Yanıtlar

  • Bunu bu kadar çetrefilli bir halde yapacağına şöyle yapsaydın keşke ;

    Koltuk satılmış mı ? Satılmamış ise 0 satılmış ise 1 rezerve edilmişse 2 yazdırsaydın ve sorgun da ;

    select * from Biletler where KoltukDurumu = 1

    şeklinde olsaydı büyük ihtimal hata almazdın ;)


    İyi Çalışmalar...
    cihangirsur@hotmail.com
    Facebook Profile Twitter Profile

    2 Haziran 2015 Salı 12:32
    Yanıtlayıcı
  • Benim Film adı,Seans, Seans_Tarih' e göre göre koltukları çekmem Lazım 
    2 Haziran 2015 Salı 12:39
  • Tamam bir şey fark etmez ;

    select * from Biletler where KoltukDurumu = 1 and FilmAdi = 'BıdıBıdı' and Tarih = '01.01.2015'


    İyi Çalışmalar...
    cihangirsur@hotmail.com
    Facebook Profile Twitter Profile

    2 Haziran 2015 Salı 12:44
    Yanıtlayıcı
  • Tamam Sorguyu değiştiğim zaman

     this.Controls.Find(koltuk_No.ToString(), true)[0].BackColor = Color.Gainsboro;
                    this.Controls.Find(koltuk_No.ToString(), true)[0].Enabled = false;

    bu kodu nasıl ayarliyicam

    2 Haziran 2015 Salı 12:49
  • Ben sana yanlış yolda ilerlediğini söylüyorum. Bir defa this.controls.find ile bu iş olmaz. Nerde neyi arıyorsun belli değil. Koltuğun rengi veritabanından gelen veriye göre değişir. Senin kodun baştan aşağı yanlışlarla dolu. 

    Ayrıca sen her salon için veritabanın da bir tablo mu oluşturuyorsun ? Böyle bir şey olmaz. Şu an için kafamda kurgulayabildiğim ; 

    Filmler adın da bir tablo oluştur. Tablo kolonları şöyle olsun ;

    FilmID, SalonNo, FilmAdi, KoltukNO, KoltukDurumu,Tarih,Saat

    sorgunu da ;

    select * from Filmler where KoltukDurumu = 1 and FilmAdi = 'BıdıBıdı' and Tarih = '01.01.2015' and Saat = '19:30'

    gibi düzenlemen lazım.


    İyi Çalışmalar...
    cihangirsur@hotmail.com
    Facebook Profile Twitter Profile

    2 Haziran 2015 Salı 12:56
    Yanıtlayıcı
  • Sorunu Çözdüm Ekleme yaparken bir hata oluşuyor ve veritabanına arraylist diye kayıt oluşuyormuş ekleme kısmını düzeltince program normal bir şekilde çalışmaya başladı teşekkür ederim.
    • Yanıt Olarak İşaretleyen Serkan Canseven 8 Haziran 2015 Pazartesi 14:56
    2 Haziran 2015 Salı 13:30