2015-09-21 2 views
0

Я работаю над WPF, где у меня есть инструкция sql для подключения к базе данных. Заявление заключается в поиске First_Quater, который он делает, но когда я перехожу на Second_Quater (который отсутствует в база данных еще) Это даст мне фигуры First_quater. Я не могу заставить его добавить только столбец First_Quater в столбец.Оператор выбора Sql не работает WPF

Я так много пробовал и искал в Интернете, но я все еще в растерянности. Благодарим вас за помощь.

SqlConnection con = new SqlConnection("Data Source=; Initial Catalog=; Integrated Security=True; Trusted_Connection=yes"); 
     con.Open(); 

     String comboquery = (@"SELECT * FROM [taxi_comm] WHERE First_Quarter = '" + checkedListBox1.SelectedItem + "'"); 
     SqlCommand cmd = new SqlCommand(comboquery, con); 
     SqlDataReader dr = cmd.ExecuteReader(); 




      double sum = 0; 
      for (int i = 0; i < gvDisplay.Rows.Count; ++i) 
      { 


       switch (checkedListBox1.SelectedItem.ToString().Trim()) 
       { 
        case "First Quarter": 

         foreach (string s in checkedListBox1.CheckedItems) 
         { 

          sum += Convert.ToInt32(gvDisplay.Rows[i].Cells[10].Value); 
          txtTotalGST.Text = sum.ToString(); 
         } 
         MessageBox.Show("Its feb"); 
         break; 
        case "Second Quarter": 

         foreach (string st in checkedListBox1.CheckedItems) 
         { 
          sum += Convert.ToInt32(gvDisplay.Rows[i].Cells[10].Value); 
          txtTotalGST.Text = sum.ToString(); 
          MessageBox.Show("You have reached the second quarter"); 
         } 

         break; 
+0

Используйте параметры в запросе, см https://msdn.microsoft.com/en-us/library/system.data.sqlclient .sqlcommand.parameters% 28v = vs.110% 29.aspx Чтобы решить вашу проблему, используйте отладку и просмотр или локальное окно в Visual Studio. –

+1

где вы используете читателя dr !!! –

+0

Я прочитал, что до того, как я не отправил данные в базу данных, я хочу получить ее из базы данных. Да, я отлаживал, и выбор работает нормально, но не изменится, когда проверяется Second Quarter, он все еще читает First_Quarter, что является моей проблемой. Кучи информации о заполнении контрольного списка, но не то, что я хочу, я хочу по-другому. – warwick

ответ

0

Вам необходимо заполнить ваш gvdisplay из запроса

SqlCommand cmd = new SqlCommand(comboquery, con); 
    SqlDataAdapter sda = new SqlDataAdapter(cmd); 
    DataTable gvdisplay = new DataTable(); 
    sda.Fill(gvdisplay); 

     double sum = 0; 
     for (int i = 0; i < gvdisplay.Rows.Count; ++i) 
     { 


      switch (checkedListBox1.SelectedItem.ToString().Trim()) 
      { 
       case "First Quarter": 

        foreach (string s in checkedListBox1.CheckedItems) 
        { 

         sum += Convert.ToInt32(gvdisplay.Rows[i].Cells[10].Value); 
         txtTotalGST.Text = sum.ToString(); 
        } 
        MessageBox.Show("Its feb"); 
        break; 
       case "Second Quarter": 
//.......// 
Смежные вопросы