请问DAL这个是什么东西,谢了

时间:2021-01-26 18:34:19


protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                DropDownList ddlLinkType = (DropDownList)e.Item.FindControl("DropDownList1");
                ListViewDataItem lvDataItem = (ListViewDataItem)e.Item;
                DataRowView rowView = (DataRowView)lvDataItem.DataItem;
                if (ddlLinkType != null && rowView != null)
                {
                    var linksRow = (DAL.DataSetLinks.T_LinksRow)rowView.Row;
                    ddlLinkType.SelectedValue = linksRow.LinkType;
                }
            }
        }

17 个解决方案

#1


DataAccessLayer
数据访问层的缩写,三层结构中专用于数据访问的一层

#2


请问DAL这个是什么东西,谢了 数据层

#3


引用 1 楼 starfd 的回复:
DataAccessLayer
数据访问层的缩写,三层结构中专用于数据访问的一层



哪我如何使用它呢,谢谢了

#4


请问DAL这个是什么东西,谢了
就和正常的类、方法什么的一样的用法啊,这只是为了层次清楚,各司其职按其职所做的一个物理划分而已

#5


学习人家的代码不要学习这种设计混乱毫无逻辑的学员的习作,不然你会收获很多坏毛病。
一些培训班直接拿学员或者二把刀老师的程序给新的学员学习,真的误人不浅。
就你的代码来说,根本那就不是什么"DAL"。

#6


DAL.DataSetLinks.T_LinksRow
DAL 是命名空间的一部分..

#7


你会创建自己的程序集么~
你会引用自己创建的程序集么~

会了~ 你就知道DAL是什么~

自己动手试试吧~ 明日就是高富帅了~

#8


DAL 就是Data access layer的缩写。

将数据访问相关的代码封装到一个类里,就可以叫它DAL,当然也可以放到另外一个dll类型的project里,这样就可以供多个程序使用了,例如website和一个winform,或者windows service访问同一个数据库,就可以共享使用同一个DAL dll. 

#9


右键,转到定义,自己跟进去看,别人说再多都是理论,不是实际的代码

#10


楼主还没看懂。。。。。。。。。。。。。。。

#11


可以F12进去看看。其实就是一个数据处理层。就好比你要做一顿饭,第一步第二步第三步干啥你都知道。然后你把第一步的东西放一起,第二步的东西放一起。第三步的东西放一起一样。只是为了方便管理方便找错。

#12


var linksRow = (DAL.DataSetLinks.T_LinksRow)rowView.Row;
这个是实体对象吧,什么数据访问层?这只是不规范而已,这里代码是获取repeater 当前行的DataRowView ,不是访问数据层

#13


该回复于2015-03-04 17:17:18被管理员删除

#14


DAL,就是程序里面三层架构中的数据层。

#15


引用 楼主 gxnnyzr 的回复:


protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                DropDownList ddlLinkType = (DropDownList)e.Item.FindControl("DropDownList1");
                ListViewDataItem lvDataItem = (ListViewDataItem)e.Item;
                DataRowView rowView = (DataRowView)lvDataItem.DataItem;
                if (ddlLinkType != null && rowView != null)
                {
                    var linksRow = (DAL.DataSetLinks.T_LinksRow)rowView.Row;
                    ddlLinkType.SelectedValue = linksRow.LinkType;
                }
            }
        }



这里的DAL应该是胡乱起的名字,它看起来就是一些DataRow之类的类的自定义扩展,同时它也是跟设计者心目中的什么Links有关。可能它就是取DAL相近的意思吧。

一个真正的“三层”架构,最根本的要求就是:“表现层不调用DAL,根本不知道DAL在哪里”。只要用好业务逻辑层,就是三层架构。

而“为了三层而三层”的人,则只有一个“薄薄的、假的BLL层”,甚至干脆实在是懒得去用BLL层了,因为他心中的业务层就是DAL层,数据库增删改查就是业务,而BLL不过是为了装门面用的。

#16


引用 3 楼 gxnnyzr 的回复:
哪我如何使用它呢,谢谢了


不用纠结这些,它没有真正有什么三层架构,就是走一个形式。你甩开这种概念,直接搞定这个代码的源代码,就直接调用它就好了。因为这个代码也就是随便在表现层调用这些代码,所以多考虑什么“三层”反而是自相矛盾的。

#17


引用 6 楼 zujinsheng 的回复:
DAL.DataSetLinks.T_LinksRow
DAL 是命名空间的一部分..


是的。

这里的DAL,起名叫做 MY 更好。

叫做DAL,让人感觉太臃肿。很明显这个人大致是“凡是不在页面的codebehind里边直接声明class的代码都叫做DAL”了,脑子里除了页面、其它的代码就都是DAL了。

#1


DataAccessLayer
数据访问层的缩写,三层结构中专用于数据访问的一层

#2


请问DAL这个是什么东西,谢了 数据层

#3


引用 1 楼 starfd 的回复:
DataAccessLayer
数据访问层的缩写,三层结构中专用于数据访问的一层



哪我如何使用它呢,谢谢了

#4


请问DAL这个是什么东西,谢了
就和正常的类、方法什么的一样的用法啊,这只是为了层次清楚,各司其职按其职所做的一个物理划分而已

#5


学习人家的代码不要学习这种设计混乱毫无逻辑的学员的习作,不然你会收获很多坏毛病。
一些培训班直接拿学员或者二把刀老师的程序给新的学员学习,真的误人不浅。
就你的代码来说,根本那就不是什么"DAL"。

#6


DAL.DataSetLinks.T_LinksRow
DAL 是命名空间的一部分..

#7


你会创建自己的程序集么~
你会引用自己创建的程序集么~

会了~ 你就知道DAL是什么~

自己动手试试吧~ 明日就是高富帅了~

#8


DAL 就是Data access layer的缩写。

将数据访问相关的代码封装到一个类里,就可以叫它DAL,当然也可以放到另外一个dll类型的project里,这样就可以供多个程序使用了,例如website和一个winform,或者windows service访问同一个数据库,就可以共享使用同一个DAL dll. 

#9


右键,转到定义,自己跟进去看,别人说再多都是理论,不是实际的代码

#10


楼主还没看懂。。。。。。。。。。。。。。。

#11


可以F12进去看看。其实就是一个数据处理层。就好比你要做一顿饭,第一步第二步第三步干啥你都知道。然后你把第一步的东西放一起,第二步的东西放一起。第三步的东西放一起一样。只是为了方便管理方便找错。

#12


var linksRow = (DAL.DataSetLinks.T_LinksRow)rowView.Row;
这个是实体对象吧,什么数据访问层?这只是不规范而已,这里代码是获取repeater 当前行的DataRowView ,不是访问数据层

#13


该回复于2015-03-04 17:17:18被管理员删除

#14


DAL,就是程序里面三层架构中的数据层。

#15


引用 楼主 gxnnyzr 的回复:


protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                DropDownList ddlLinkType = (DropDownList)e.Item.FindControl("DropDownList1");
                ListViewDataItem lvDataItem = (ListViewDataItem)e.Item;
                DataRowView rowView = (DataRowView)lvDataItem.DataItem;
                if (ddlLinkType != null && rowView != null)
                {
                    var linksRow = (DAL.DataSetLinks.T_LinksRow)rowView.Row;
                    ddlLinkType.SelectedValue = linksRow.LinkType;
                }
            }
        }



这里的DAL应该是胡乱起的名字,它看起来就是一些DataRow之类的类的自定义扩展,同时它也是跟设计者心目中的什么Links有关。可能它就是取DAL相近的意思吧。

一个真正的“三层”架构,最根本的要求就是:“表现层不调用DAL,根本不知道DAL在哪里”。只要用好业务逻辑层,就是三层架构。

而“为了三层而三层”的人,则只有一个“薄薄的、假的BLL层”,甚至干脆实在是懒得去用BLL层了,因为他心中的业务层就是DAL层,数据库增删改查就是业务,而BLL不过是为了装门面用的。

#16


引用 3 楼 gxnnyzr 的回复:
哪我如何使用它呢,谢谢了


不用纠结这些,它没有真正有什么三层架构,就是走一个形式。你甩开这种概念,直接搞定这个代码的源代码,就直接调用它就好了。因为这个代码也就是随便在表现层调用这些代码,所以多考虑什么“三层”反而是自相矛盾的。

#17


引用 6 楼 zujinsheng 的回复:
DAL.DataSetLinks.T_LinksRow
DAL 是命名空间的一部分..


是的。

这里的DAL,起名叫做 MY 更好。

叫做DAL,让人感觉太臃肿。很明显这个人大致是“凡是不在页面的codebehind里边直接声明class的代码都叫做DAL”了,脑子里除了页面、其它的代码就都是DAL了。