protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection();
        // cn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bysj.mdf;Integrated Security=True;User Instance=True";//连接数据库
        conn.ConnectionString = @"data source=.\SQLEXPRESS;Initial Catalog=sj;Integrated Security=True";
        SqlCommand comm = new SqlCommand();
        comm.CommandText = "SELECT [Gqmc] as 歌曲名称,[Gsxm] as 歌手姓名 FROM [SongInfo] WHERE [Yz] in " + this.TextBox1.Text.Trim() + " ('闽南语','国语','日韩','欧美')"; 
        comm.Connection = conn;
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand = comm;        DataSet sds = new DataSet();        sda.Fill(sds);
        this.GridView1.DataSource = sds;
        this.GridView1.DataBind();
    }
当我点击BUTTON时,会出现所有的歌曲,但是当我选择闽南语的时候,就会报错
 sda.Fill(sds);
'闽南语' 附近有语法错误。

解决方案 »

  1.   

    comm.CommandText = "SELECT [Gqmc] as 歌曲名称,[Gsxm] as 歌手姓名 FROM [SongInfo] WHERE [Yz] in " + this.TextBox1.Text.Trim() + " ('闽南语','国语','日韩','欧美')";  
    先学sql语法
      

  2.   

    语法有错么?在sql中都能显示的
      

  3.   

    TextBox1 是什么内容SQL语句的格式应该是 
    where 字段名 in ('value1',‘value2’,...'valuen')
      

  4.   

    TextBox1里面的内容就是要写的语种,后面有个Button进行确定。
      

  5.   

    那TextBox1 的内容应该在后面的括号里面啊
      

  6.   

    楼主明显不会SQL语句comm.CommandText = "SELECT [Gqmc] as 歌曲名称,[Gsxm] as 歌手姓名 FROM [SongInfo] WHERE [Yz] = '" + this.TextBox1.Text.Trim() + "'";
      

  7.   


     comm.CommandText = "SELECT [Gqmc] as 歌曲名称,[Gsxm] as 歌手姓名 FROM [SongInfo] WHERE [Yz] in ('" + this.TextBox1.Text.Trim() + " ','闽南语','国语','日韩','欧美')";  
      

  8.   

    "SELECT Gqmc as 歌曲名称 ,Gsxm as 歌手姓名 FROM SongInfo WHERE [Yz] in( '" + this.TextBox1.Text.Trim() + " ')";后面就这样解决了!!