【发布时间】:2009-10-30 12:33:40
【问题描述】:
假设我有一个包含 5 个文本框的表单,我需要从数据库中提取一些数据,然后使用该数据设置这 5 个文本框。
所以假设我有 3 个基本层:
default.aspx 页面背后的代码
联系 DAL 的 BLL 类
和数据访问层 (DAL)
但我听说default.aspx页面不应该知道sqldatareader,实际上你可能不想将sqlclient命名空间添加到default.aspx代码隐藏页面。
所以我曾经做过这样的事情:
protected sub DisplayCustomerData()
Dim s as SqlDataReader
Dim b as BLL
b=new BLL();
s = b.GetCustomerData();
//then take s and simply set each text field
if s.read()
TextBox1.Value = s("MyField1")
end if
end sub
然后 BLL 将简单地调用 DAL 来调用 SQL Server 中的存储过程并执行 CommandObject.ExecuteReader,将结果传递回 BLL,然后 BLL 会将其发送到 default.aspx 的代码隐藏页面。
如果这没有意义,我可以提供完整的源代码。我的问题是,如果 default.aspx 实际上声明并知道 SQL 数据读取器是不好的,那么更好的方法是什么?我应该使用什么数据类型来避免在我的接口代码中使用 sqldatareader?
【问题讨论】:
标签: asp.net vb.net sqldatareader