星尘小组第四周学习笔记--SqlHelper

SqlHelper

(一) SqlHelper简介:

SqlHelper是一个基于.NET Framework的数据库操作组件。组件中包含数据库操作方法。

 

(二) SqlHelper作用:

SqlHelper用于简化对数据库重复的操作包括:数据库的连接(SqlConnection),数据库的增删改查(SqlCommand,SqlDataReader…)。SqlHelper 类封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了。

 

(三) SqlHelper来源:

  1. 1.        目前SqlHelper有很多版本,主要以微软开始发布的SqlHelper类。
  2. 2.        自己撰写SqlHelper类。

 

(四) SqlHelper方法:

  1. 1.        对于SqlHelper的一个构造方法:初始化数据库的连接字符串和Sqlconnection
  2. 2.        获取连接的一个方法
  3. 3.        执行SQL语句增删改或是存储过程
  4. 4.        执行SQL查询语句

 

(五) SqlHelper返回值:

SqlHelper的每一个方法都要有一个返回值,因为返回值的不同会造成相应调用此方法的方法也要有一样的返回值。

  1. 1.        返回DataTable

DataTable是一个临时保存数据的网络虚拟表,可以被创建和访问,当SqlHelper查询后就要返回到DataTable虚拟表中,判断它的第一行是否有数据来判断是否查到记录。

  1. 2.        返回Integer

返回受影响的行数,如果受影响的行数大于0说明查到的记录,如果为0说明没有查询到数据。如果受影响的行数大于0说明增删改操作成功,如果为0,说明操作没有成功。我们通过返回受影响的行数到B层进行逻辑判断,然后返回相应的提示给U层,这样就很好的再一条线中实现。思路清晰。

 

(六) SqlHelper举例应用

eg: 一个返回值是DataTable型的有参数的方法

    '方法(2)有参数的查询

    'return DataTable 查询出的表格

    Public Function ExecuteNonQuery(ByVal cmdText As String, ByVal cmdType As CommandType, ByVal sqlParams As SqlParameter()) As DataTable

    Using conn As New SqlConnection(strConnection)   '使用连接,可以在使用完成后自动关闭连接

    Dim cmd As SqlCommand = conn.CreateCommand() '

    cmd.CommandText = cmdText  '需要执行的SQL语句

    cmd.CommandType = cmdType  '给出Sql语句的类型

   cmd.Parameters.AddRange(sqlParams) '参数数组,参数个数根据实际情况而定

   adp = New SqlDataAdapter(cmd)

     Try

       conn.Open()

        adp.Fill(ds)

        Return ds.Tables(0)

     Catch ex As Exception

        Return Nothing

        Throw ex

        End Try

     End Using

End Function

l  当判断一个用户是否存在时,输入用户名之后,这个用户名就成为了参数,调用SqlHelper的ExecuteNonQuery()方法,通过返回的DataTable的行数是否大于0来判断此用户是否存在。

    Public Function SelectUser(ByVal user As Entity.UserInfo) As DataTable Implements IDAL.IUser.SelectUser

        Dim strUserName As String = user.UserName

        Dim helper As New Helper.SqlHelper

        Dim dt As New DataTable            '声明一个DataTable类型变量

        Dim cmdText As String = "select * from User_Info where UserName=@UserName"   '声明并实例化需要执行的SQL语句

        Dim sqlParams As SqlParameter() = {New SqlParameter("@UserName", strUserName)} '声明并实例化参数

        dt = helper.ExecuteNonQuery(cmdText, CommandType.Text, sqlParams)  '调用SqlHelper类中的ExecSelect()方法来执行查询,并获取返回值

        Return dt            '返回查询结果

End Function

 

(七) 思维导图

 

 

posted @ 2019-03-26 11:10  一个烤羊腰子  阅读(98)  评论(0编辑  收藏  举报