首页 新闻 会员 周边 捐助

MVC如何在三层里面取数据?

0
悬赏园豆:10 [待解决问题]

MVC嵌套简单三层,不知道如何在DataAccess层取数据

代码如下 UserInfoDAL方法如下

 

 /// <summary>
  /// 获得数据列表
  /// </summary>
  public DataSet GetList(string strWhere)
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("select UserID,UserName,UserAge ");
   strSql.Append(" FROM UserInfo ");
   if(strWhere.Trim()!="")
   {
    strSql.Append(" where "+strWhere);
   }
   return DbHelperSQL.Query(strSql.ToString());
  }

 

/// <summary>
  /// 更新一条数据
  /// </summary>
  public bool Update(Maticsoft.Model.UserInfo model)
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("update UserInfo set ");
   strSql.Append("UserName=@UserName,");
   strSql.Append("UserAge=@UserAge");
   strSql.Append(" where UserID=@UserID");
   SqlParameter[] parameters = {
     new SqlParameter("@UserName", SqlDbType.NVarChar,50),
     new SqlParameter("@UserAge", SqlDbType.SmallInt,2),
     new SqlParameter("@UserID", SqlDbType.Int,4)};
   parameters[0].Value = model.UserName;
   parameters[1].Value = model.UserAge;
   parameters[2].Value = model.UserID;

   int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
   if (rows > 0)
   {
    return true;
   }
   else
   {
    return false;
   }
  }

 

在  userinfoController.cs层怎么调用上面一层的数据并显示在页面上


        public ActionResult Index()
        {
                  return View();
        }

  public ActionResult Create()
        {
            return View();
        }

        //
        // POST: /userinfo/Create

        [HttpPost]
        public ActionResult Create(FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
       

腾飞555的主页 腾飞555 | 初学一级 | 园豆:190
提问于:2012-03-16 16:40
< >
分享
所有回答(2)
0

建议用泛型

return View(list);

self | 园豆:182 (初学一级) | 2012-03-16 17:04
0
UserInfoDAL _userInfoDAL;
public UserInfoController()
{
_userInfoDAL=new UserInfoDAL();
}
public actionresult update(UserInfo model)
{
_userInfoDAL.Update(model);
return Content("success");
}
today4king | 园豆:3499 (老鸟四级) | 2012-03-16 17:17

页面怎么取数据咧?

支持(0) 反对(0) 腾飞555 | 园豆:190 (初学一级) | 2012-03-16 17:31

 业务和控制器分离的话 更新数据是个问题。

比如

class a {
  public int id{get;set;}
  public string name{get;set;}
  public string sex{get;set;}
}

页面上实际提交的只有id,name update的话数据写不回去了

支持(0) 反对(0) Y2zz | 园豆:393 (菜鸟二级) | 2013-04-23 17:33

@Y叔: 好久了啊。根据id更新name和update不是很简单么?

支持(0) 反对(0) today4king | 园豆:3499 (老鸟四级) | 2013-04-23 20:02

@今昭: 因为 sex没有传递过来,new a 的时候sex是null,update的话 数据库里原本有值结果被更新成null了

支持(0) 反对(0) Y2zz | 园豆:393 (菜鸟二级) | 2013-04-23 20:28

@Y叔: 如果只跟心name那么这里的model是不带sex,更新的model和a本身是两个概念。

支持(0) 反对(0) today4king | 园豆:3499 (老鸟四级) | 2013-04-24 13:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册