我想在vs的 dataGridView中 显示查询的内容。
 具体是 在文本框中输入一个关键字,然后在数据库的一个表的所有字段进行查询,显示在dataGridView,麻烦大家帮忙解答一下。
(下面的是我找到一点代码,但不能实现,不知道哪里出错了)
DataSet data = new DataSet();
                data.Locale = System.Globalization.CultureInfo.InvariantCulture;
                SqlConnection conn = new SqlConnection("server =.;database = stuInfor;uid=sa;pwd=aa;");
                string sql = "SELECT * FROM Student WHERE (stuName LIKE '%guanjianzi.Text.Trim()%' OR stuSex LIKE %guanjianzi.Text.Trim()%' OR stuID LIKE %guanjianzi.Text.Trim()%' OR stuDepart LIKE %guanjianzi.Text.Trim()%' * OR zhuanye LIKE %guanjianzi.Text.Trim()%' OR stuClass LIKE %guanjianzi.Text.Trim()%' or address LIKE %guanjianzi.Text.Trim()%')";
                SqlDataAdapter masterDataAdapter = new SqlDataAdapter(sql, conn);
                masterDataAdapter.Fill(data, "Student");
                this.dataGridView1.DataSource = data.Tables[0].DefaultView;

解决方案 »

  1.   

    //,你缺少单引号,我们假设用户输入了值,你需要判断.另外给你提高了一点效率..
    //Replace必须的.string strTemp = guanjianzi.Text.Trim().Replace("'","''");SELECT * FROM Student WHERE (stuName LIKE '%strTemp%' OR 
    stuSex LIKE '%strTemp%' OR stuID LIKE '%strTemp%' OR 
    stuDepart LIKE '%strTemp%' * OR zhuanye LIKE '%strTemp%' 
    OR stuClass LIKE '%strTemp%' or address LIKE '%strTemp%')
      

  2.   

    刚才的错了,糊涂了...
    string strTemp = guanjianzi.Text.Trim().Replace("'","''");
                string strSql = string.Format(@"SELECT * FROM Student WHERE (stuName LIKE '%{0}%' OR 
    stuSex LIKE '%{0}%' OR stuID LIKE '%{0}%' OR 
    stuDepart LIKE '%{0}%' * OR zhuanye LIKE '%{0}%' 
    OR stuClass LIKE '%{0}%' or address LIKE '%{0}%')", strTemp);
      

  3.   

    实现这个,无非就是在SQL语句做功夫
    使用like % [] [^]  关键字修饰SQL语句就可以了。
      

  4.   

    把这些字段'%guanjianzi.Text.Trim()%'改成'%“+guanjianzi.Text.Trim()+”%'