从没遇见的DataReader错误
read是获取数据时返回的OleDbDataReader
while (read.Read())
{
entity = new DoKeLe.Entity.Dish();
entity.ID = read.GetInt32(read.GetOrdinal("ID"));
entity.DishName = read.GetString(read.GetOrdinal("DishName"));
entity.DishDesc = read.GetString(read.GetOrdinal("DishDesc"));
dataList.Add(entity);
}
在红色行提示错误:应用程序中的服务器错误 DishDesc
数据库中存在该列,数据页不为空。
删掉改行就没有问题,求教 是何原因?
------解决方案--------------------
entity.DishDesc = read.GetString(read.GetOrdinal("DishDesc"));
你换成 entity.DishDesc = read["DishDesc"].ToString()
试试?
------解决方案--------------------C# code
entity.DishDesc = Convert.ToString(read["DishDesc"]);
------解决方案--------------------
计算机不会撒谎的。肯定没有那列
------解决方案--------------------
你可以
while (read.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Response.Write("<li>" + reader.GetName(i));
}
Response.Write("<hr>");
}
打印出你的列名看
------解决方案--------------------
用个gridview,设为自动产生列,把read绑定上,看看到底取出的是什么数据,那些列
------解决方案--------------------
------解决方案--------------------
加断点 多家几个就知道了