我的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;
}
请各位前辈指点迷津
------最佳解决方案--------------------------------------------------------
试一试
"select * from gradeChapter where grade=N'小学一年级'")
------其他解决方案--------------------------------------------------------
换个号继续顶
------其他解决方案--------------------------------------------------------
可以使用Parameters.add()试一下
------其他解决方案--------------------------------------------------------
数据库的连接字符串
connectionString="server=localhost;User Id=root;pwd=admini; Persist Security Info=True;database=database;Charset=utf8"
------其他解决方案--------------------------------------------------------
还是提示正确
输入字符串的格式不正确。
说明: 执行当前 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
------其他解决方案--------------------------------------------------------
使用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 = "小学一年级";
结果还是提示的和上面的一样
------其他解决方案--------------------------------------------------------
求大神指点啊
------其他解决方案--------------------------------------------------------
搞定了,谢谢楼上两位的热心回答
------其他解决方案--------------------------------------------------------
我晕,这个算倒分了吧,下不为例。