KK7777777
想吃螃蟹的老康
2020-06-10 19:27
采纳率: 100%
浏览 263

在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();
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • m86872125
    HyperMa0 2020-06-11 09:30
    已采纳

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

    点赞 评论
  • caozhy

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

    点赞 评论

相关推荐