- 浏览: 13920 次
- 来自: 上海
最新评论
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Collections
Public MustInherit Class SqlHelper
''' <summary>
''' 哈希表:缓存参数
''' </summary>
''' <remarks></remarks>
Public Shared parmCache As Hashtable = Hashtable.Synchronized(New Hashtable())
''' <summary>
'''
''' </summary>
''' <param name="connectionString"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="commandParameters">ParamArray 表示函数参数个数不确定C#中为params</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function ExecuteNonquery(ByVal connectionString As String, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal ParamArray commandParameters As SqlParameter()) As Int32
Dim cmd As SqlCommand = New SqlCommand
Using conn As SqlConnection = New SqlConnection(connectionString)
PrepareCommand(cmd, conn, Nothing, cmdType, cmdText, commandParameters)
Dim val As Int32 = cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
Return val
End Using
End Function
''' <summary>
'''
''' </summary>
''' <param name="connection"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="commandParameters">ParamArray 表示函数参数个数不确定C#中为params</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function ExecuteNonQuery(ByVal connection As SqlConnection, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal ParamArray commandParameters As SqlParameter()) As Int32
Dim cmd As SqlCommand = New SqlCommand
PrepareCommand(cmd, connection, Nothing, cmdType, cmdText, commandParameters)
Dim val As Int32 = cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
Return val
End Function
''' <summary>
'''
''' </summary>
''' <param name="trans"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="commandParameters">ParamArray 表示函数参数个数不确定C#中为params</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function ExecuteNonQuery(ByVal trans As SqlTransaction, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal ParamArray commandParameters As SqlParameter()) As Int32
Dim cmd As SqlCommand = New SqlCommand
PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters)
Dim val As Int32 = cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
Return val
End Function
''' <summary>
''' 返回数据集,可以包含多个表,这是我自己加上的,用以返回数据集,表
''' </summary>
''' <param name="connectionString"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="commandParameters"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function ExecuteDataSet(ByVal connectionString As String, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal ParamArray commandParameters As SqlParameter()) As DataSet
Dim cmd As SqlCommand = New SqlCommand
Using conn As SqlConnection = New SqlConnection(connectionString)
PrepareCommand(cmd, conn, Nothing, cmdType, cmdText, commandParameters)
Dim adp As SqlDataAdapter = New SqlDataAdapter(cmd)
Dim ds As DataSet = New DataSet
Try
adp.Fill(ds)
cmd.Parameters.Clear()
Finally
adp.Dispose()
End Try
Return ds
End Using
End Function
''' <summary>
'''
''' </summary>
''' <param name="connectionString"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="commandParameters">ParamArray 表示函数参数个数不确定C#中为params</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function ExecuteReader(ByVal connectionString As String, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal ParamArray commandParameters As SqlParameter()) As SqlDataReader
Dim cmd As SqlCommand = New SqlCommand
Dim conn As SqlConnection = New SqlConnection(connectionString)
Try
PrepareCommand(cmd, conn, Nothing, cmdType, cmdText, commandParameters)
Dim rdr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
cmd.Parameters.Clear()
Return rdr
Catch ex As Exception
conn.Close()
Throw
End Try
End Function
''' <summary>
'''
''' </summary>
''' <param name="connectionString"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="commandParameters">ParamArray 表示函数参数个数不确定C#中为params</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function ExecuteScalar(ByVal connectionString As String, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal ParamArray commandParameters As SqlParameter()) As Object
Dim cmd As SqlCommand = New SqlCommand
Using connection As SqlConnection = New SqlConnection(connectionString)
PrepareCommand(cmd, connection, Nothing, cmdType, cmdText, commandParameters)
Dim val As Object = cmd.ExecuteScalar()
cmd.Parameters.Clear()
Return val
End Using
End Function
''' <summary>
'''
''' </summary>
''' <param name="connection"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="commandParameters">ParamArray 表示函数参数个数不确定C#中为params</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function ExecuteScalar(ByVal connection As SqlConnection, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal ParamArray commandParameters As SqlParameter()) As Object
Dim cmd As SqlCommand = New SqlCommand
PrepareCommand(cmd, connection, Nothing, cmdType, cmdText, commandParameters)
Dim val As Object = cmd.ExecuteScalar()
cmd.Parameters.Clear()
Return val
End Function
''' <summary>
''' add parameter array to the cache
''' </summary>
''' <param name="cacheKey"></param>
''' <param name="commandParameters">an array of SqlParamters to be cached</param>
''' <remarks></remarks>
Public Shared Sub CacheParameters(ByVal cacheKey As String, ByVal ParamArray commandParameters As SqlParameter())
parmCache(cacheKey) = commandParameters
End Sub
Public Shared Function GetCachedParameters(ByVal cacheKey As String) As SqlParameter()
Dim cachedParms As SqlParameter() = CType(parmCache(cacheKey), SqlParameter())
If cachedParms Is Nothing Then Return Nothing
Dim clonedParms(cachedParms.Length - 1) As SqlParameter
Dim i As Integer
For i = 0 To cachedParms.Length - 1
clonedParms(i) = CType(CType(cachedParms(i), ICloneable).Clone(), SqlParameter)
Next
Return clonedParms
End Function
''' <summary>
'''
''' </summary>
''' <param name="cmd"></param>
''' <param name="conn"></param>
''' <param name="trans"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="cmdParms"></param>
''' <remarks></remarks>
Private Shared Sub PrepareCommand(ByVal cmd As SqlCommand, ByVal conn As SqlConnection, ByVal trans As SqlTransaction, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal cmdParms As SqlParameter())
If conn.State <> ConnectionState.Open Then conn.Open()
cmd.Connection = conn
cmd.CommandText = cmdText
If trans IsNot Nothing Then cmd.Transaction = trans
cmd.CommandType = cmdType
If cmdParms IsNot Nothing Then
Dim parm As SqlParameter
For Each parm In cmdParms
cmd.Parameters.Add(parm)
Next
End If
End Sub
End Class
发表评论
-
HtmlAgilityPack 二次selectnode
2018-04-07 10:35 0在第一次selectnode 之后的node 中继续selec ... -
InstallShield dll注册到目标机
2018-03-19 10:52 0由于开发中使用了dll控件,如果目标机器上没有对应的dll文件 ... -
htmldocument 解析html string
2018-03-10 22:34 0Private Sub Command1_Click() Di ... -
vb 模拟键盘操作常用代码
2018-03-08 20:56 0Declare Function SetCursorPos L ... -
vb 模糊查找窗口标题
2018-03-08 21:06 0Declare Function GetDesktopWind ... -
vb根据颜色抓坐标
2018-03-08 21:05 0Private Declare Function GetDC ... -
vb 读取其他程序list
2018-03-08 21:04 0Public Const LVM_FIRST As Long ... -
.net json 解析
2018-03-07 08:17 0全网最简单第一 : http://blog.csdn.net/ ... -
vb.net windows api 声明
2018-02-10 23:25 0老外的一个为VB.NET和VB提供WIN32 API在线查询和 ... -
VS2015中没有“安装和部署”模块,应该如何补上?
2018-02-04 20:04 0VS2015中没有“安装和部署”模块,应该如何补上? 我是跟着 ... -
Office PIA:关于Office PIA应用程序的部署
2018-01-24 14:37 0http://blog.csdn.net/yapingxin/ ... -
sendmessage
2018-01-20 16:42 0原文:http://blog.itpub.net/79126/ ... -
https://www.cnblogs.com/bfyx/archive/2012/12/15/2819057.html
2017-12-28 23:15 894https://www.cnblogs.com/bfyx/ar ... -
.net 读写excel
2017-12-27 10:58 431http://npoi.codeplex.com/ What ... -
VS2015(Install Shield 2015 limited Edition )软件打包过程
2017-12-24 20:34 1727http://m.blog.csdn.net/cnd24492 ...
相关推荐
总的来说,VB.Net版的SqlHelper是开发数据库驱动的应用程序时的一个强大工具,它降低了数据库操作的复杂性,提高了代码质量,并增强了安全性。通过合理地使用SqlHelper,开发者可以更专注于业务逻辑,而不是数据库...
标题 "VB.NET SQLHelper DLL 包" 涉及的核心技术是使用VB.NET语言开发一个SQLHelper类库,该类库通常是为了简化数据库操作而设计的。SQLHelper类可以帮助开发者更方便、高效地执行SQL语句,减少重复代码,提高代码的...
VB.NET实现SqlHelper数据库操作组件,组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数...
本人平常数据库都是用SQLServer,所以特地用vb.net写了一个仅支持SQLServer的SQLHelper类以方便使用,没做修改直接上传,需要的童鞋欢迎下载,稍做修改即可适用于其他数据库:支持查询数据类命令和修改数据类命令,...
VB.NET版本与C#类似,但在语法上有区别,例如使用Sub和Function替代C#的void方法和返回值方法,以及VB.NET特有的With...End With语句可以更简洁地设置对象属性。其他核心功能和设计模式与C#版本保持一致。 4. 使用...
本文将深入探讨SQLHelper.dll的核心原理,以及如何在C#和VB.NET环境中进行有效利用。 首先,SQLHelper.dll是微软.NET Framework的一部分,它提供了基于ADO.NET的数据访问接口,以简化SQL Server的CRUD(创建、读取...
在VB.net或ASP.NET里面很好引用,把类引用进来就可以直接使用了 下面是用的部分。。。 Dim ds4 As DataSet Dim sql4 As String = "select * from table where xx='dd'" ds4 = SqlHelper.ExecuteDataset(con, ...
SqlHelper是.NET框架中一个常用的数据库访问助手类库,它主要为VB.NET和C#开发者提供了方便快捷的SQL语句执行方法,简化了数据库操作。这个压缩包文件可能包含了一个实现SqlHelper功能的源代码文件或者相关的示例...
SqlHelper 类实现详细信息 SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类
1. **SqlHelper**:在VB.NET中,SqlHelper是常见的数据库操作类,它封装了ADO.NET的SqlConnection、SqlCommand、SqlDataAdapter等对象,提供如ExecuteNonQuery(执行非查询操作,如插入、删除、更新)、...
至于压缩包内的文件"**SQLHelper**",这可能是包含了SQLHelper类的源代码文件,可能以.cs或.vb为扩展名,分别对应C#和VB.NET的源代码文件。在这个文件中,开发者可以找到如下的方法和功能: 1. **ExecuteNonQuery()...
开发者可以定义自己的模板,比如数据库实体类、DAL接口和实现、BLL接口和实现等,然后CodeSmith会根据模板生成相应的C#或VB.NET代码。这极大地减少了手动编写重复代码的时间,提高了开发效率,也让代码更加规范。 ...
OracleHelper.vb 是一个基于VB.NET编写的类库,它的设计灵感来源于SQLHelper,后者是一个广泛用于.NET平台的数据库操作辅助类。OracleHelper.vb 旨在简化Oracle数据库的访问,为开发者提供一套便捷、高效的API接口,...
翻箱底时找到了SQLHelper.cs,微软官方推出的sql server数据访问模块,仔细看了下,非阉割的版本(我一字没改),英文注释,功能齐全(一些教程上没介绍到的功能这里面也有),推荐刚学ASP.NET的新手下载来研究研究...
它提供了丰富的服务器控件、事件驱动模型以及内置的缓存机制,使得开发者可以使用C#或VB.NET等语言轻松地创建功能强大的Web应用。在这个"asp.net 常用基础代码 懒人源码 测试版"中,我们可能会找到一些常见的ASP.NET...
在.NET框架中,SQLHelper类是用于简化与数据库交互过程的一个强大工具,它封装了常见的SQL操作,如执行查询、插入、更新和删除等。这一类位于Microsoft.ApplicationBlocks.Data命名空间下,通常需要引用Microsoft....
LINQ(Language Integrated Query,语言集成查询)是.NET Framework的一项特性,它允许开发者使用强类型、符合C#或VB.NET语法的查询来操作各种数据源,包括SQL数据库。而LINQ to SQL是LINQ的一个子集,专门用于与...
VB和CS代表Visual Basic .NET和C#,这是.NET Framework下的两种主要编程语言。在提供的文件中,SQLHelper被实现了这两种语言的版本,这意味着开发者可以根据自己的喜好和项目需求选择合适的实现。 Data Access ...
它支持多种编程语言,如C#和VB.NET,提供了丰富的控件和功能,使得开发人员可以快速构建功能强大的动态网站和Web应用程序。 在源代码中,32个章节覆盖了ASP.NET开发的多个核心领域,包括但不限于: 1. Web表单:...