Şimdi Ara

C# ExecuteNonQuery

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1
Cevap
0
Favori
223
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  •  
    namespace Sinemaprogramı
    {
    public partial class Form3 : Form
    {
    public Form3()
    {
    InitializeComponent();
    }

    SqlConnection baglanti = new SqlConnection("server=CAN\\SQLEXPRESS2008; database=sinema; Integrated Security=true;");
    string film_id;
    string film_id1;
    string[] seanslar = new string[40];
    string[] salonlar = new string[40];

    private void Form3_Load(object sender, EventArgs e)
    {

    textBox7.Text = dateTimePicker1.Text;
    //Film adlarını combobox1e yükledik.
    SqlDataReader oku;
    baglanti.Open();
    SqlCommand cmd = new SqlCommand("select film_adi,film_id from filmler", baglanti);
    oku = cmd.ExecuteReader();
    while (oku.Read())
    {
    comboBox1.Items.Add(oku[0].ToString());
    }
    baglanti.Close();
    }
    private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
    {
    SqlCommand komut = new SqlCommand("Select film_resim from filmler where film_adi='" + comboBox1.Text + "'", baglanti);
    // komut.Parameters.AddWithValue("@film_id", comboBox1.Text);
    baglanti.Open();
    SqlDataReader rdr = komut.ExecuteReader();
    PictureBox mert = new PictureBox();



    while (rdr.Read())
    {
    button2.BackgroundImage = Image.FromFile("" + rdr["film_resim"].ToString());
    }


    baglanti.Close();
    }

    public void dateTimePicker1_ValueChanged_1(object sender, EventArgs e)
    {
    if (comboBox1.Text == "")
    {
    MessageBox.Show("Lütfen Film Seçiniz");
    }
    else
    {
    //İlk önce seanslar dizisindeki bütün değerleri 0'a atadık.Nedeni ise tarihi değiştirdiğimizde o tarihde
    //kayıt yoksa eski seanslarımız kayıtta olmaya devam eder.Bunu önlemek için bu kodu yazdık.
    for (int y = 0; y < 30; y++)
    {
    seanslar[y] = "0";
    }
    textBox7.Text = dateTimePicker1.Text;
    //Filmin idsine göre seansları atadığımız için bu sql komutunu yazdım.
    SqlDataReader oku;
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = baglanti;
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.CommandText = "select film_id from filmler where film_adi=@film_adi";
    cmd.Parameters.AddWithValue("@film_adi", comboBox1.SelectedText.ToString());
    baglanti.Open();
    oku = cmd.ExecuteReader();
    while (oku.Read())
    {
    //Seçmiş olduğumuz filmin idsini çektim
    film_id1 = oku[0].ToString();
    }

    baglanti.Close();
    //Seçmiş oldugumuz filmin idsine,Tarihine ve yazmış oldugumuz seansa göre seanslar dizisine o kayıtlara uyan seansları atadık.
    //Burdaki seanslar dizisini kayıt yaparken kullanıcaz.
    SqlDataReader oku1;
    SqlCommand cmd1 = new SqlCommand();
    cmd1.Connection = baglanti;
    cmd1.CommandType = System.Data.CommandType.Text;
    cmd1.CommandText = "select film_seanstarih from seanslar where film_id=@film_id '" + textBox7.Text + "'";
    cmd1.Parameters.AddWithValue("@film_id", film_id1.ToString());
    baglanti.Open();
    oku1 = cmd1.ExecuteReader();
    int i = 0;

    while (oku1.Read())
    {
    // seanslar dizisine kayıtlara uyan seans saatlerini atadık.
    seanslar[i] = oku1["film_seanssaat"].ToString();
    i = i + 1;
    }

    baglanti.Close();
    }
    }

    private void comboBox2_SelectedIndexChanged_1(object sender, EventArgs e)
    {
    for (int y = 0; y < 30; y++)
    {
    salonlar[y] = "0";
    }
    //Filmin idsine göre seansları atadığımız için bu sql komutunu yazdım.
    SqlDataReader oku;
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = baglanti;
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.CommandText = "select film_id from filmler where film_adi=@film_adi";
    cmd.Parameters.AddWithValue("@film_adi", comboBox1.SelectedText.ToString());
    baglanti.Open();
    oku = cmd.ExecuteReader();

    while (oku.Read())
    {
    //Seçmiş olduğumuz filmin idsini çektim
    film_id1 = oku[0].ToString();
    }
    baglanti.Close();
    //Seçmiş oldugumuz filmin idsine,Tarihine ve yazmış oldugumuz seansa göre seanslar dizisine o kayıtlara uyan seansları atadık.
    //Burdaki seanslar dizisini kayıt yaparken kullanıcaz.
    SqlDataReader oku1;
    SqlCommand cmd1 = new SqlCommand();
    cmd1.Connection = baglanti;
    cmd1.CommandType = System.Data.CommandType.Text;
    cmd1.CommandText = "select film_salon_no from seanslar where film_id=@film_id and film_salon_no like '" + comboBox2.Text + "'";
    cmd1.Parameters.AddWithValue("@film_id", film_id1.ToString());
    baglanti.Open();
    oku1 = cmd1.ExecuteReader();
    int i = 0;

    while (oku1.Read())
    {
    // seanslar dizisine kayıtlara uyan seans saatlerini atadık.
    salonlar[i] = oku1["film_salon_no"].ToString();
    i = i + 1;
    }

    baglanti.Close();
    }

    private void button4_Click_1(object sender, EventArgs e)
    {
    //Verilerin Boş olup olmadığını denetledik.
    if (comboBox1.Text == "" | textBox7.Text == "" | textBox2.Text == "" | comboBox2.Text == "")//combo1 boş veya text7 boş veya text2 boş ise uyarı vericek.
    {
    MessageBox.Show("Lütfen Boş Alanları Doldurunuz");
    }

    //Tüm bilgiler girildiğinde kayıt işlemine geçicek.
    else
    {
    DialogResult mesaj;
    mesaj = MessageBox.Show(comboBox1.Text + " filmi için " + textBox7.Text + " Tarihinde " + textBox2.Text + " Saatleri arasında bu filmi gösterime sunmak istediğiğinize emin misiniz ? ", " Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

    if (mesaj == DialogResult.Yes)
    {

    //Aynı filmin,aynı tarihde birden fazla seansı olamaz.Bu yüzden bir onay durumu yaptım.İlk önce onayın durumunu true ayarladım
    bool onay = true;
    //Filmin tarihine göre olan seanslarını atamış oldugum seanslar dizisiyle,yazmış oldugum seansı karşılaştırdım.
    for (int i = 0; i < 30; i++)
    {
    // Yazmış oldugum seans,dizideki seansların içinde varsa hata mesajı veriyor.
    if (textBox2.Text == seanslar[i] & comboBox2.Text == salonlar[i])
    {
    MessageBox.Show("Bu film için Bu seans daha önceden alınmış");
    //onay durumumuzu false yaptım.Eğer bu if'in içine girerse,Yani seans önceden girilmişse onayımız false olucak.Aksi halde true.
    onay = false;
    break;
    }
    }
    //Eğer onayımız true ise yukardaki if'in içine girmemiş demektir.Yani Seansımız daha önceden yoktur.

    if (onay == true)
    {
    //Filmin idsini çekmek için ad'a göre bir sorgu oluşturduk.Çünkü veriyi eklerken filmi id sine göre ekleme yapıcak.
    baglanti.Close();
    SqlDataReader oku;
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = baglanti;
    cmd.CommandType = System.Data.CommandType.Text;
    //Seçtiğimiz filmin adına göre id sini aldık.
    cmd.CommandText = "select film_id from filmler where film_adi=@film_adi";
    cmd.Parameters.AddWithValue("@film_adi", comboBox1.SelectedText.ToString());
    baglanti.Open();
    oku = cmd.ExecuteReader();
    while (oku.Read())
    {
    //Film_id diye oluşturdugumuz değişkene yukardan gelen id yi atadık.
    film_id = oku[0].ToString();
    }
    //Veri girme yani insert komutunu yazdık.
    cmd.CommandText = "INSERT INTO seanslar(film_id,film_salon_no,film_seanstarih,film_seanssaat) VALUES (@film_id,@film_salon_no,@film_seanstarih,@film_seanssaat)";

    cmd.Parameters.AddWithValue("@film_id", film_id);
    cmd.Parameters.AddWithValue("@film_salon_no", comboBox2.SelectedText.ToString());
    cmd.Parameters.AddWithValue("@film_seanstarih", dateTimePicker1.Text);
    cmd.Parameters.AddWithValue("@film_seanssaat", textBox2.Text);
    oku.Close();
    //

    baglanti.Close();
    baglanti.Open();
    //Eğer veri eklendiyse,Yani işlem başarılıysa tablomuzda sayı artar.Bu yüzden bunun için bu komutu yazdık.
    int etkilenen = cmd.ExecuteNonQuery();

    baglanti.Close();

    if (etkilenen > 0)
    {
    MessageBox.Show("Kayıt edildi...");

    //comboBox1.Text = "";
    dateTimePicker1.Text = "";
    // textBox7.Text = "";
    textBox2.Text = "";


    }
    else
    {
    MessageBox.Show("Kayıt edilmedi !!!");
    }


    baglanti.Close();
    }
    }
    }
    }

    }

    Programlamayla pek alakam yoktur bu siteyide birinden aldım o kişide sorunsuz çalışırken ben de bu hatalar oluşuyor ?
     C# ExecuteNonQuery C# ExecuteNonQuery







  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.