三层VB.NET版的实现

三层VB.NET版的实现,第1张

概述        其实呢,在敲三层额时候,C#版的很快就敲完了,但是VB.NET版的却一直没有动,主要原因是因为自己感觉用VB.NET写有关数据库的 *** 作比较难,另外VB.NET的视频没有好好的看,所以就没有很积极的想要去完成VB.NET版的三层,而是在中间借了好几本书来看,到底VB.NET是个什么东西,看完基础之后发现和VB简直就是一个样子,没有什么值得看的,再看和ADO.NET的数据连接就发现,真

其实呢,在敲三层额时候,C#版的很快就敲完了,但是VB.NET版的却一直没有动,主要原因是因为自己感觉用VB.NET写有关数据库的 *** 作比较难,另外VB.NET的视频没有好好的看,所以就没有很积极的想要去完成VB.NET版的三层,而是在中间借了好几本书来看,到底VB.NET是个什么东西,看完基础之后发现和VB简直就是一个样子,没有什么值得看的,再看和ADO.NET的数据连接就发现,真的是好难啊,没有什么具体的思路。所以就在网上搜索了一个完成的比较不错的VB.NET三层的例子来看的,发现和C#版的例子又有很多相似的地方,所以写此博客来比较一下。

首先来看声明和实例化对象:

VB C#
Dim username as stringusername=txtUsername.Text.Trim()
string username = txtUsername .Text .Trim ();
Dim Deal1 As New Login.BLL.LoginService
Login.BLL.LoginService svr = new Login.BLL.LoginService();
MsgBox("登录用户:" + user1.Username,"恭喜")
MessageBox.Show("登录用户:" + user.Username );

其次是对方法或者类的声明:

VB C#
Public Function UserLogin(User1 As Login.Model.UserInfo) As Login.Model.UserInfo
public Login.Model.UserInfo  UserLogin(string username,string password)
user.Username <> ""
user != null
Public Property Username As String        Get            Return _username        End Get        Set(value As String)            _username = value        End SetEnd Property
public string Username { get; set; }
具体到了数据库连接的地方就比较相似了,只有写方法和函数的地方是不一样的。下面是我的VB.NET版的代码:

U层:

Private Sub btnLogin_Click(sender As Object,e As EventArgs) Handles btnLogin.Click        Dim user1 As New Login.Model.UserInfo        Try            '传值            user1.Username = txtUsername.Text.Trim()            user1.Password = txtPassword.Text.Trim()            '调用BLL层            Dim Deal1 As New Login.BLL.LoginService            Deal1.UserLogin(user1)        Catch ex As Exception            MessageBox.Show(ex.Message.ToString())        End Try        'MsgBox("登录用户:" + user1.Username,"恭喜")    End Sub
B层:

Public Class LoginService    Public Function UserLogin(User1 As Login.Model.UserInfo) As Login.Model.UserInfo        Dim uDao As New Login.DAL.UserDAO        Dim user As New Login.Model.UserInfo        Dim sDao As New Login.DAL.scoreDAO        user = uDao.SelectUser(User1)        If (user.Username <> "") Then            sDao.Updatescore(user.Username,10)            MsgBox("登录成功,马上进入系统......","恭喜")            Return user        Else            Throw New Exception("登录失败。")            Return user        End If    End FunctionEnd Class
D层(UserDAO):

imports System.Dataimports System.Data.sqlClIEntPublic Class UserDAO       Public Function SelectUser(User As Login.Model.UserInfo) As Login.Model.UserInfo        Dim conn As New sqlConnection(DbUtil.ConnString)        Dim reader As sqlDataReader        Dim eUser As New Login.Model.UserInfo                                                              '实例化新的UserInfo        Dim sql As String = "Select  Username,Password From Users Where Username=@Username And Password=@Password"        Dim cmd As New sqlCommand(sql,conn)        cmd.CommandText = sql                                                                           '获取SQL语句的具体内容        cmd.CommandType = CommandType.Text                                                '获取上述SQL语句的具体类型,在此为Select        cmd.Parameters.Add(New sqlParameter("@Username",User.Username))        cmd.Parameters.Add(New sqlParameter("@Password",User.Password))        conn.open()                                                                                               '打开数据连接        reader = cmd.ExecuteReader()                                                                    '执行查询语句,并生成一个DataReader        '读取查询到的数据,并返回给相应的属性        While reader.Read()            '获取数据库中相应字段的数据            eUser.Username = reader.GetString(0)            eUser.Password = reader.GetString(1)        End While        Return eUser                                                                                               '返回查询到的实体        conn.Close()                                                                                                '关闭连接    End FunctionEnd Class
其中的DbUtil.ConnString是来自一个模块DbUtill的具体代码为:

Module DbUtil    Public ConnString As String = "Server=sampc;Database=Login;User ID=sa;Password=1"End Module
具体为什么这里用模块,而在C#里面用的是类,详情见我的博客: http://www.jb51.cc/article/p-agoexpdt-bbr.html 以上就是VB.NET版的三层的具体实现方法,数据库的连接方式都是一样的,因为使用了ADO.NET的访问方式,所以代码的方式是公共的。 总结

以上是内存溢出为你收集整理的三层VB.NET版的实现全部内容,希望文章能够帮你解决三层VB.NET版的实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1268073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存