在c#中使用sql语句对数据库的表中数据进行模糊查询,当使用数字进行模糊查询时能正常显示,但是汉字就不行,请大佬帮忙看下

在c#中使用sql语句对数据库的表中数据进行模糊查询,当使用数字进行模糊查询时能正常显示,但是汉字就不行,请大佬帮忙看下

问题描述:

最近在学c#数据模型那一块,学习过程中使用sql语句对数据库的表中数据进行模糊查询,当使用数字进行模糊查询时能正常显示,但是汉字就不行,请大佬帮忙看下问题出在哪里,具体情况见下图
图片说明

图片说明
图片说明

代码如下:

string connectionstr =
            ConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString;
            SqlConnection con = new SqlConnection(connectionstr);
            con.Open();
            if (comboBox1.SelectedIndex == 0)
            {
                SqlDataAdapter sda = new SqlDataAdapter("SELECT 学号,姓名,语文,数学,英语,政治,历史,地理 FROM score WHERE 学号 LIKE '%"+textBox10.Text+"%'", con);
                DataSet ds = new DataSet();
                sda.Fill(ds, "score");
                dataGridView4.DataSource = ds.Tables["score"];
            }
            if (comboBox1.SelectedIndex == 1)
            {
                SqlDataAdapter sda = new SqlDataAdapter("SELECT 学号,姓名,语文,数学,英语,政治,历史,地理 FROM score WHERE 姓名 LIKE '%"+textBox10.Text+"%'", con);
                DataSet ds = new DataSet();
                sda.Fill(ds, "score");
                dataGridView4.DataSource = ds.Tables["score"];
            }
            con.Close();

断点调试一下,看看SelectedIndex是不是1,如果是1能进那个if,把运行中的语句拷贝出来,放到数据库查询一下结果

看看表怎么定义的,姓名列要用 nvarchar 而不是 varchar