送女生的生日礼物,家用监控摄像机,哈尔滨市人力资源和社会保障局
初接触三层
显示层<喎? f/ware/vc/"="" target="_blank" class="keylink">vc3ryb25npjwvcd4kphbyzsbjbgfzcz0="brush:java;">imports login.bll
imports login.model
public class frmlogin
public sub btnlogin_click(byval sender as system.object, byval e as system.eventargs) handles btnlogin.click
dim admininfo as admininfoentity
dim manager as new adminbll
dim _name as string
dim _password as string
_name = txtadminname.text
_password = txtadminpwd.text
admininfo = manager.selectadmin_info(_name, _password) '调用逻辑层,返回的admininfo可能为空,也可能不为空
if admininfo is nothing then
messagebox.show("登陆失败")
else
messagebox.show("登陆用户" + admininfo.name)
end if
end sub
private sub btncancel_click(byval sender as system.object, byval e as system.eventargs) handles btncancel.click
me.close()
end sub
end class
业务逻辑层 喎?>
imports login.model
imports login.dal
public class adminbll
dim admininfo as admininfoentity
dim admindal as new admindal
'验证用户登录信息是否正确
public function selectadmin_info(byval name as string, byval password as string) as admininfoentity
admininfo = admindal.getadmininfo(name, password) '调用数据访问层,返回的admininfo可能为空,也可能不为空
return admininfo
end function
end class
数据访问层
imports system.data.sqlclient
imports system.data
imports system.data.oledb
imports system
public class connectiontodb
public function connectiontodb() as sqlconnection
dim con as new sqlconnection("data source=刘颖-pc;initial catalog=room_charge_system;user id=sa;password=123456") '连接数据库
con.open()
return con
end function
end class
imports system
imports system.data
imports system.data.oledb
imports system.data.sqlclient
imports login.model
public class admindal
dim admininfo as admininfoentity
dim con as new connectiontodb
'得到用户信息
public function getadmininfo(byval name as string, byval password as string) as admininfoentity
'查表中的记录
dim cmd as new sqlcommand("select*from t_admin_info where name=" & "'" & name & "'" & "and password=" & "'" & password & "'", con.connectiontodb())
dim reader as sqldatareader
reader = cmd.executereader()
while (reader.read()) '如果数据表中有用户名和密码都与文本框对应的记录,则利用new 关键字调用admininfoentity构造函数,使admininfo不为空,并对其属性赋值
admininfo = new admininfoentity
admininfo.id = reader.getstring(0)
admininfo.name = reader.getstring(1)
admininfo.level = reader.getstring(2)
admininfo.password = reader.getstring(3)
end while
return admininfo
end function
end class
实体层
'用户类,分别提供了其他类可以调用的公有属性,也提供了供类内部成员调用的字段,其他类通过属性可以限制对字段的无条件进行操作,例如只读,只写,限定范围赋值。
public class admininfoentity
dim _name as string
public property name() as string
get
return _name
end get
set(byval value as string)
_name = value
end set
end property
dim _id as string
public property id() as string
get
return _id
end get
set(byval value as string)
_id = value
end set
end property
dim _level as string
public property level() as string
get
return _level
end get
set(byval value as string)
_level = value
end set
end property
dim _password as string
public property password() as string
get
return _password
end get
set(byval value as string)
_password = value
end set
end property
end class
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论