日期:2014-05-18  浏览次数:20464 次

在线等——这句代码有问题吗?怎么报错
C# code

  MySqlDataReader dr = comm.ExecuteReader();
                        if (dr.Read())
                        {
                            if (dr["grade"] !=null)
                                grate = Convert.ToInt32(dr["grade"]);
                            if (dr["begintime"] !=null)
                                begintime = dr["begintime"].ToString();
                            if (dr["endtime"] !=null)
                                endtime = dr["endtime"].ToString();
                        }



报错如下:could not find specified column in results:grade

------解决方案--------------------
grade这个字段不存在。检查表或者sql。
------解决方案--------------------
在结果中找不到指定的列:grade
说的很清楚明白啊。。。
------解决方案--------------------
你的表中有grade这列吗
------解决方案--------------------
探讨
C# code

MySqlDataReader dr = comm.ExecuteReader();
if (dr.Read())
{
if (dr["grade"] !=null)
……

------解决方案--------------------
tinyint 返回的是 byte[]
------解决方案--------------------
习惯上tinyint都用来表示bool类型的
0为false,1、2、3类型的则为true;
你最好改成int类型
或者dr["grade"] !=False
------解决方案--------------------
错误提示:在结果中找不到指定的列 : grade

如果你确定数据库有这个字段, 那就检查是否是dr数据源没有取出这个字段。。。检查下sql语句

------解决方案--------------------
探讨
习惯上tinyint都用来表示bool类型的
0为false,1、2、3类型的则为true;
你最好改成int类型
或者dr["grade"] !=False

------解决方案--------------------
把你得sql 贴出来看看
------解决方案--------------------
你把grade 字段改个名字试试吧 最快速的方法了 加个s什么的