ASP.NET+SQL server实现三层架构的新闻系统如何定义在BLL中调用DAL层的方法

xiaoxiaozi2 2011-09-12 07:12:00
我用ASP.NET+SQL server的三层架构建立一个简单的新闻系统。
我在DAL层定义的代码如下:
public static DataSet SelectByType(string TypeID)
{
string Connstring = ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection conn = new SqlConnection(Connstring);
SqlCommand cmd = new SqlCommand();
conn.Open();
cmd.CommandText = "Select top 5 NewTitle,New from News where TypeID=@TypeID";
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adp.Fill(ds);
conn.Close();
return ds;
}

在BLL层的代码如下:
public static DataSet SelectByType(string TypeID)
{
DAL.NewsDAO dao = new DAL.NewsDAO();
dao.SelectByType("TypeID");
}

在.ASPX.CS中的代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetBind();
}
}

public void SetBind()
{
yujia.BLL.NewsManager nm = new yujia.BLL.NewsManager();
Repeater1.DataSource = nm.SelectByType;
Repeater1.DataBind();
}

要实现的功能是:通过TypeID的值查询数据库的与TypeID值相符的前五条数据


问题如下:在BLL层调用DAL层的方法好像不对,请问怎么才对。
在.ASPX.CS页面中怎么样才能连接到数据源。
怎么样定义获得TypeID的值并传递给DAL层用来查询数据库的与TypeID值相符的前五条数据
...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不会使用数据源,或者不会查询前5条记录,这类问题我建议你多搜索吧。
xiaoxiaozi2 2011-09-12
  • 打赏
  • 举报
回复
呵呵。、、你说的是,你能按照你的方法,把我想实现的内容帮我实现嘛,我不会做啊

[Quote=引用 2 楼 sp1234 的回复:]
针对你的问题,我可以对你说的是,你的所谓DAL可以完全删除。你写的就是BLL层的代码,不要在BLL层中去寻找什么DAL层,不然你就会发现自己的BLL层代码很扯淡、全都是毫无意义的所谓调用DAL方法的一两条代码。

DAL层本来就是客观存在的!比如你使用.net对于OleDB的包装、客户端驱动接口层,或者更加灵活的Linq to EF等等,或者某种面向对象数据库接口,或者某种跨好几个关系数据库和……
[/Quote]
  • 打赏
  • 举报
回复
针对你的问题,我可以对你说的是,你的所谓DAL可以完全删除。你写的就是BLL层的代码,不要在BLL层中去寻找什么DAL层,不然你就会发现自己的BLL层代码很扯淡、全都是毫无意义的所谓调用DAL方法的一两条代码。

DAL层本来就是客观存在的!比如你使用.net对于OleDB的包装、客户端驱动接口层,或者更加灵活的Linq to EF等等,或者某种面向对象数据库接口,或者某种跨好几个关系数据库和面向对象数据库平台的统一的ORM接口等等。

不要搞懂了“三层”概念,就去自己些什么DAL代码。对于大多数人而言,你没有必要写一行DAL层代码,你只需要调用现成的数据库接口层代码就行了。
  • 打赏
  • 举报
回复
什么叫做DAL层?你在业务逻辑层内使用ADO.NET访问关系数据库,这便是在BLL中访问DAL了。那些围绕每一个实体,搞一堆所谓的DAL方法的类似早期PetShop的做法,是典型的“为了三层而三层”被很多人骂为特别繁琐的方法,而且让人怀疑“DAL跟BLL没有区别”。

在选择不同的DAL实现方式时,会有区别。比如有人使用ADO.NET,有人使用Linq to EF,有人使用自己所熟悉的第三方面向对象数据库接口,等等。这就是比较实际的DAL层,既它是对(大部分是指关系)数据库的接口的包装,而跟业务实体没有任何关系。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧