日期:2014-05-17  浏览次数:20881 次

IDataReader 数据库相关 问题
 database.AddInParameter(ylifeCommd,"Appid",DbType.Int32,Appid);
            database.AddInParameter(ylifeCommd, "PageSize", DbType.Int32, PageSize);
            database.AddInParameter(ylifeCommd, "PageIndex", DbType.Int32, PageIdex);
            using (IDataReader reader = database.ExecuteReader(ylifeCommd))
            {
                if (reader != null)
                {
                   return Tool.JsonTool.ToJson(reader);
                }
                return null;
            }

IDataReader 对象不能判断是否为空吗

------解决方案--------------------
                if (reader.Read())
                {
                   return Tool.JsonTool.ToJson(reader);
                }
------解决方案--------------------
if (reader.Read())
{
//不为空
]
或者 
if (reader.ReadAll())
{
//不为空
]

------解决方案--------------------
用reader.Read()后,如果JsonTool.ToJson里面用的是while(reader.Read())会丢失第一行

if (reader.HasRows) //只判断有无纪录      
{                   
    return Tool.JsonTool.ToJson(reader);                
}                
return null;