您的位置:首页 > 数据库

[VB]SqlHelper|DBHelper数据通用访问类 for VB

2016-07-21 17:41 302 查看
本人一直从事C#编程,刚接触VB,写了简单的基于SQLServer的数据通用访问类vb版,供有需要的同学参考

Imports System.Data

Imports System.Data.SqlClient

''' <summary>

''' Copyright (C) 2016 cyj 

''' VB数据通用访问类(基于SQLServer)

''' 可以根据自己项目的需要进行修改

''' </summary>

''' <remarks>一个简单的VB数据通用访问类,希望帮到有需要的同仁</remarks>

Public Class SqlHelper

    Protected Shared connStr As String = "Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=TestDB"

    ''' <summary>

    ''' 执行sql语句,返回收影响的行数

    ''' </summary>

    ''' <param name="sql">sql语句</param>

    ''' <returns>受影响的行数</returns>

    ''' <remarks>一般用于增删改操作</remarks>

    Public Shared Function ExecuteNonQuery(ByVal sql As String)

        Dim conn As New SqlConnection(connStr)

        Dim cmd As New SqlCommand(sql, conn)

        Try

            conn.Open()

            Return cmd.ExecuteNonQuery()

        Catch ex As Exception

            Throw New Exception(ex.Message)

        Finally

            cmd.Dispose()

            conn.Close()

            conn.Dispose()

        End Try

    End Function

    ''' <summary>

    ''' 执行一条sql语句,返回查询结果

    ''' </summary>

    ''' <param name="sql">sql语句</param>

    ''' <returns>查询结果</returns>

    ''' <remarks>用于单一结果查询</remarks>

    Public Shared Function GetSingle(ByVal sql As String)

        Dim conn As New SqlConnection(connStr)

        Dim cmd As New SqlCommand(sql, conn)

        Try

            conn.Open()

            Return cmd.ExecuteScalar()

        Catch ex As Exception

            Throw New Exception(ex.Message)

        Finally

            cmd.Dispose()

            conn.Close()

            conn.Dispose()

        End Try

    End Function

    ''' <summary>

    ''' 执行一条sql语句,返回查询结果是否存在

    ''' </summary>

    ''' <param name="sql">sql语句</param>

    ''' <returns>Boolean类型 true OR false</returns>

    ''' <remarks>用于检验数据是否存在,如登录或用户名判重</remarks>

    Public Shared Function CheckExistsRecord(ByVal sql As String)

        Dim conn As New SqlConnection(connStr)

        Dim cmd As New SqlCommand(sql, conn)

        Try

            conn.Open()

            Dim reader As SqlDataReader

            reader = cmd.ExecuteReader()

            Return reader.Read()

        Catch ex As Exception

            Throw New Exception(ex.Message)

        Finally

            cmd.Dispose()

            conn.Close()

            conn.Dispose()

        End Try

    End Function

    ''' <summary>

    ''' 查询指定的表是否存在

    ''' </summary>

    ''' <param name="tablename">要查询的表名</param>

    ''' <returns>Boolean类型 true OR false</returns>

    ''' <remarks>用于检验数据库中表是否存在</remarks>

    Public Shared Function CheckExistsTable(ByVal tablename As String)

        Dim sql As String = "select count(1) from sysobjects where name = '" + tablename + "'"

        Dim conn As New SqlConnection(connStr)

        Dim cmd As New SqlCommand(sql, conn)

        Try

            conn.Open()

            If cmd.ExecuteScalar() = 0 Then

                Return False

            Else

                Return True

            End If

        Catch ex As Exception

            Throw New Exception(ex.Message)

        Finally

            cmd.Dispose()

            conn.Close()

            conn.Dispose()

        End Try

    End Function

    ''' <summary>

    ''' 执行sql语句,返回结果集的查询

    ''' </summary>

    ''' <param name="sql">sql语句</param>

    ''' <returns>查询结果集DataSet</returns>

    ''' <remarks></remarks>

    Public Shared Function GetDataSet(ByVal sql As String)

        Dim conn As New SqlConnection(connStr)

        Try

            conn.Open()

            Dim ds As New DataSet

            Dim da = New SqlDataAdapter(sql, conn)

            da.Fill(ds, "ds")

            Return ds

        Catch ex As Exception

            Throw New Exception(ex.Message)

        Finally

            conn.Close()

            conn.Dispose()

        End Try

    End Function

End Class

****************************************************************

如果对您有帮助,记得下方点赞哦~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息