我的Mysql数据库设置的编码方式是utf8,但是在网页中使用带中文的查询语句一直显示得到的结果为空。‘在连接字符串中设定Charset=utf8后,改提示“输入字符串的格式不正确。”
代码如下:
db.reDt("select * from gradeChapter where grade='小学一年级'");
下面是这个函数的内容
 public DataSet reDt(string cmdstr)
    {
         MySqlConnection con = GetCon();
         con.Open();
         MySqlDataAdapter da = new MySqlDataAdapter(cmdstr,con);
         DataSet ds=new DataSet();
         da.Fill(ds);
        return ds;
    }
请各位前辈指点迷津

解决方案 »

  1.   

    数据库的连接字符串  
    connectionString="server=localhost;User Id=root;pwd=admini; Persist Security Info=True;database=database;Charset=utf8"
      

  2.   

    试一试"select * from gradeChapter where grade=N'小学一年级'")
      

  3.   

    还是提示正确
    输入字符串的格式不正确。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
    行 229:    protected ArrayList DropDownSource2()
    行 230:    {
    行 231:        int n = Convert.ToInt32(db.reDt("select * from gradeChapter where grade=N'小学一年级'").Tables[0].Rows[0][0].ToSt
      

  4.   

    使用Parameters.add()也不行
            string sqlstr = "select * from gradeChapter where grade=@grade";
            int n = Convert.ToInt32(db.reDt(sqlstr).Tables[0].Rows[0][0].ToString());下面是函数的内容
             MySqlDataAdapter da = new MySqlDataAdapter(cmdstr,con);
             da.SelectCommand.Parameters.Add("@grade", MySqlDbType.VarChar, 50);
             da.SelectCommand.Parameters["@grade"].Value = "小学一年级";
    结果还是提示的和上面的一样
      

  5.   

    已有该问题的解决方案,请大家移步到 http://www.ilewu.net/forum.php?mod=viewthread&tid=354&page=1&extra=#pid364