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