您的位置:首页 > 编程语言 > ASP

asp.net三层架构中使用泛型获取实体数据

2011-10-25 14:12 369 查看
  asp.net中使用泛型获取实体数据可以发挥更高的效率,代码简洁方便,本例采用三层架构。首先在model层中定义StuInfo实体,然后在DAL层的SQLHelper数据操作类中定义list<>泛型查询数据库获取实体数据,最后通过BLL层的方法调用出来。具体实例如下:

一、model层中定义的StuInfo实体:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
public class StuInfo
{
private string _id;

public string Id
{
get { return _id; }
set { _id = value; }
}
private string _stuname;

public string Stuname
{
get { return _stuname; }
set { _stuname = value; }
}
private string _stuclass;

public string Stuclass
{
get { return _stuclass; }
set { _stuclass = value; }
}

}
}


二、DAL层中通过list泛型获取实体数据:

public List<StuInfo> date()
{
List<StuInfo> list = null;
cmd = new SqlCommand("select * from stuinfo", conn);
try
{
conn.Open();
dr = cmd.ExecuteReader();
list = new List<StuInfo>();
while (dr.Read())
{
StuInfo stu = new StuInfo();
stu.Id = dr["id"].ToString();
stu.Stuname = dr["stuname"].ToString();
stu.Stuclass = dr["stuclass"].ToString();
list.Add(stu);
}
return list;
}
catch (Exception)
{

return null;
}
finally
{
conn.Close();
}

}


三、在BLL层中调用DAL层的方法获取实体数据:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using Model;

namespace BLL
{
public class StuDel
{
SQLHelper db = new SQLHelper();
public List<StuInfo> date()
{
return db.date();

}
}
}


四、在web UI层中显示实体数据

经过第三步,实体数据已经添加到list泛型集合中了,那么如何显示出来呢?可以在页面上添加数据显示控件,如GridView,然后在cs代码中给它指定一个数据源,这个list泛型集合就可以作为它的数据源,让它显示数据。

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BLL;

public partial class _Default : System.Web.UI.Page
{
StuDel de = new StuDel();
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button2_Click(object sender, EventArgs e)
{

GridView1.DataSource = de.date();
GridView1.DataBind();
}
}


本例经过作者亲自调试通过。

(本文转自小谈博客:http://tanteng.sinaapp.com/2011/10/ilist/,转载请注明出处!)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐