none
企业库读取数据失败!! RRS feed

  • 问题

  • 我采用企业库读取数据失败。请大家帮我看看,哪里有错误。
            public List<UserInfo> GetUserInfo(int pageNumber, int pageSize,ref int pageCount)
            {
                Database db = DatabaseFactory.CreateDatabase();
                DbCommand cmd = db.GetStoredProcCommand("SP_PageView");
                db.AddInParameter(cmd,"TableName",DbType.String,"UserTable");
                db.AddInParameter(cmd,"KeyFields",DbType.String,"");
                db.AddInParameter(cmd,"PageNumber",DbType.Int32,pageNumber);
                db.AddInParameter(cmd,"PageSize",DbType.Int32,pageSize);
                db.AddInParameter(cmd,"ShowFields",DbType.String,"");
                db.AddInParameter(cmd,"OrderFields",DbType.String,"");
                db.AddInParameter(cmd,"WhereCondition",DbType.String,"");
                db.AddOutParameter(cmd,"PageCount",DbType.Int32,pageCount);
                List<UserInfo> infoList = new List<UserInfo>();
                using (IDataReader reader = db.ExecuteReader(cmd))
                {
                    while (reader.Read())
                    {
                        UserInfo info = new UserInfo();
                        info.UniqueID = Convert.ToInt32(reader["UniqueID"]);
                        info.Name = Convert.ToString(reader["Name"]);
                        info.Age = Convert.ToInt32(reader["Age"]);
                        info.Sex = Convert.ToString(reader["Sex"]);
                        info.Addr = Convert.ToString(reader["Addr"]);
                        info.ImagePath = Convert.ToString(reader["ImagePath"]);
                        infoList.Add(info);
                    }
                }
                return infoList;
            }

    Do My Best
    2009年11月10日 14:26

答案

  • 你好!

    这段语句是不会返回 NULL 的,不管是否有数据都会对 InfoList 进行实例化。

    用 SQL Profile 跟踪一下,存储过程是否在指定的数据服务器上执行。用跟踪来的 SQL 在查询分析器中执行,看看能否查出数据。

    知识改变命运,奋斗成就人生!
    2009年11月12日 1:59
    版主

全部回复