0

リストボックスアイテムを選択すると、プログラムは正常に機能します。データセットが正しくデータセットを取得します。テキストボックスに書き込むと、ソースメソッドが機能し、正しい結果が見つかります。ただし、リストボックスアイテムを選択すると、古いデータセットデータが画面に表示されます。この方法で何ができますか?

public void ara(string str, int neyegore)
{
      sqlcon.Open();
      if (neyegore == 0)
          komut = new SqlCommand("select * from FilmTablo WHERE ad LIKE '%" + str + "%'", sqlcon);
      else if (neyegore == 1)
          komut = new SqlCommand("select * from FilmTablo WHERE tur LIKE '%" + str + "%'", sqlcon);
      else if (neyegore == 2)
          komut = new SqlCommand("select * from FilmTablo WHERE yonetmen LIKE '%" + str + "%'", sqlcon);
      else if (neyegore == 3)
          komut = new SqlCommand("select * from FilmTablo WHERE oyuncular LIKE '%" + str + "%'", sqlcon);

      sdr = null;
      sdr = komut.ExecuteReader();
      dt2 = new DataTable();
      dt2.Load(sdr);
      ds2 = new DataSet();
      ds2.Tables.Add(dt2);
      listBox1.Items.Clear();
      // sayac2 = 1;
      int i = 0;

      while (i < ds2.Tables[0].Rows.Count)
      {
         listBox1.Items.Add(ds2.Tables[0].Rows[i].ItemArray[0]);
         i++;
      }
      sqlcon.Close();
     }



private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{                  
                txtad.Text = ds.Tables[1].Rows[listBox1.SelectedIndex].ItemArray[0].ToString().Trim();
                txttur.Text = ds.Tables[1].Rows[listBox1.SelectedIndex].ItemArray[1].ToString().Trim();
                txtsure.Text = ds.Tables[1].Rows[listBox1.SelectedIndex].ItemArray[2].ToString().Trim();
                txtyonetmen.Text = ds.Tables[1].Rows[listBox1.SelectedIndex].ItemArray[3].ToString().Trim();
                txtoyuncular.Text = ds.Tables[1].Rows[listBox1.SelectedIndex].ItemArray[4].ToString().Trim();
                txtsenaryo.Text = ds.Tables[1].Rows[listBox1.SelectedIndex].ItemArray[5].ToString().Trim();
                byte[] resim = (byte[])ds.Tables[1].Rows[listBox1.SelectedIndex].ItemArray[7];
                image1.Source = GetBitmapImage(resim);
 }


public void listeyiguncelle()
{
            sqlcon.Open();
            komut = new SqlCommand("select * from FilmTablo", sqlcon);
            sdr = null;
            sdr = komut.ExecuteReader();
            dt = new DataTable();
            dt.Load(sdr);
            ds = new FilmDataDataSet();
            ds.Tables.Add(dt);
            listBox1.Items.Clear();
            int i = 0;
            //MessageBox.Show(ds.Tables[1].Rows.Count.ToString());
            while (i < ds.Tables[1].Rows.Count)
            {
                listBox1.Items.Add(ds.Tables[1].Rows[i].ItemArray[0]);
                i++;
            }
            sqlcon.Close();

            lblfilmsayisi.Content = ds.Tables[1].Rows.Count;

}

ここに画像の説明を入力してください ここに画像の説明を入力してください

4

0 に答える 0