C# Sql select语句无法使用WPF

C# Sql select语句无法使用WPF,c#,sql,wpf,C#,Sql,Wpf,我正在开发一个WPF,其中有一个sql语句连接到数据库。该语句用于搜索第一个四分之一,但当我更改为第二个四分之一(尚未在数据库中)时,它将给我第一个四分之一的值。我不能把第一个四分之一加在一栏里 我已经尝试了这么多,搜索了互联网,但我仍然不知所措。 谢谢你的帮助 SqlConnection con = new SqlConnection("Data Source=; Initial Catalog=; Integrated Security=True; Trusted_Connection=ye

我正在开发一个WPF,其中有一个sql语句连接到数据库。该语句用于搜索第一个四分之一,但当我更改为第二个四分之一(尚未在数据库中)时,它将给我第一个四分之一的值。我不能把第一个四分之一加在一栏里

我已经尝试了这么多,搜索了互联网,但我仍然不知所措。 谢谢你的帮助

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;
SqlConnection con=newsqlconnection(“数据源=;初始目录=;集成安全性=真;可信连接=是”);
con.Open();
字符串comboquery=(@“从[taxi_comm]中选择*,其中第一季度=”+“checkedListBox1.SelectedItem+”);
SqlCommand cmd=新的SqlCommand(comboquery,con);
SqlDataReader dr=cmd.ExecuteReader();
双和=0;
对于(int i=0;i
您需要从查询中填充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":
//.......//
SqlCommand cmd=newsqlcommand(comboquery,con);
SqlDataAdapter sda=新的SqlDataAdapter(cmd);
DataTable gvdisplay=新DataTable();
sda.填充(GV显示);
双和=0;
对于(int i=0;i
在查询中使用参数,请参阅以解决问题,使用调试和监视或Visual Studio中的本地窗口。您在哪里使用读卡器dr!!!在我不向数据库发送数据之前,我已经读过这篇文章,我想从数据库中获取数据。是的,我已经调试过,选择功能正常,但在第二季度为c时不会更改hecked它仍然读取第一季度,这是我的问题。大量关于填写检查表的信息,但不是我想要的。为什么它仍然读取第一季度?选中第二季度时checkedListBox1.SelectedItem的值是多少?是的,选中时读取第一季度,选中时读取第二季度我刚刚做了一个除虫,当我有11列的时候,foreach循环只经过6次,所以我猜我的foreach循环有点问题。