类似于wordpress的网站吗,网络营销课程个人总结范文,免费自助网站建设,万家建设有限公司网站日期#xff1a;2023年7月25日 作者#xff1a;Commas 签名#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释#xff1a;如果您觉得有所帮助#xff0c;帮忙点个赞#xff0c;也可以关注我#xff0c;我们一起成长#xff1b;如果有不对的地方#xf… 日期2023年7月25日 作者Commas 签名(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释如果您觉得有所帮助帮忙点个赞也可以关注我我们一起成长如果有不对的地方还望各位大佬不吝赐教谢谢^ - ^ 1.01365 37.78340.99365 0.0255 1.02365 1377.40830.98365 0.0006 文章目录 一、前言二、使用说明2-1数据库连接测试2-2数据库完整性检测 三、实现思路3-1数据库连接测试3-2数据库完整性检测 四、完整源码 一、前言 当用户电脑、或者我们所要操作的电脑没有 SQL Server Management Studio 而我们又想确定 SqlServer 中某个数据库是否损坏的时候这个时候就有点难办了只能硬着头皮先安装这种大块头的工具然后再写 DBCC CHECKDB 的语句检测问题时间基本都花到了安装软件上了。
为了解决这个问题不妨自己做一个小工具如下所示 二、使用说明
2-1数据库连接测试
输入服务器名称、用户名登录名以及数据库密码点击【数据库连接测试】按钮可以测试参数是否正确
2-2数据库完整性检测
填写需要检测的数据库名称 点击【开始检测】按钮 正确 数据库置疑的错误 数据库不存在的错误
三、实现思路
实现思路很简单先实现正常连接数据库功能再实现数据库检测的功能如下
3-1数据库连接测试
可以通过 CN.Open 和 CN.State 其中 Dim CN As New ADODB.Connection来判断是否可以正常连接上数据库
Private Sub CmdPing_Click()
On Error Resume NextDim sErr As String: sErr Dim CN As New ADODB.ConnectionCN.ConnectionString getConnectionString()CN.OpenIf CN.State adStateOpen ThenMsgBox 连接成功CN.CloseElseMsgBox 连接失败 err.DescriptionEnd IfSet CN Nothing
End Sub其中获取数据库连接字符串的函数如下所示
Private Function getConnectionString(Optional ByVal isWinLogin As Boolean False, Optional ByVal sDbName As String master) As String
On Error Resume Next
函数说明获取数据库连接字符串
创建作者Commas
创建时间2023-07-25
修改时间
------传参说明------
isWinLogin是否采用 “Windows 身份验证”默认采用 “SQL Server 身份验证”
sDbName指定需要连接的数据库默认为master
------传参说明------Dim sCNStr As StringIf isWinLogin ThensCNStr ProviderSQLOLEDB;Data Source{ServerName};Initial Catalog{DatabaseName};Trusted_ConnectionYes;Persist Security InfoTrue;If Trim(Me.TxtDB(0).Text) 127.0.0.1 ThensCNStr Replace(sCNStr, {ServerName}, .)ElsesCNStr Replace(sCNStr, {ServerName}, Trim(Me.TxtDB(0).Text))End IfsCNStr Replace(sCNStr, {DatabaseName}, master)ElsesCNStr ProviderSQLOLEDB;Data Source{ServerName};Initial Catalog{DatabaseName};User Id{Username};Password{Password};也可以先不指定 Initial Catalog{DatabaseName};sCNStr ProviderSQLOLEDB;Data Source{ServerName};User Id{Username};Password{Password};sCNStr Replace(sCNStr, {ServerName}, Trim(Me.TxtDB(0).Text))sCNStr Replace(sCNStr, {DatabaseName}, master)sCNStr Replace(sCNStr, {Username}, Trim(Me.TxtDB(1).Text))sCNStr Replace(sCNStr, {Password}, Trim(Me.TxtDB(2).Text))End IfgetConnectionString sCNStr
End Function
3-2数据库完整性检测
首先我们用 SQL 先进行数据库数据库检查如下
DBCC CHECKDB (DataBaseName) WITH NO_INFOMSGS;其中DataBaseName 改为需要检测的数据库名称。
接着我们借用 CN.Errors 其中 Dim CN As New ADODB.Connection来捕获精确的错误信息。当执行数据库查询或操作时ADO 对象会自动将错误信息添加到 Errors 集合中我们可以通过检查该集合来获取更详细的错误信息包括错误号、错误描述和可能的原因等。
CN.Execute DBCC CHECKDB ( sDbName ) WITH NO_INFOMSGS;
If CN.Errors.Count 0 Then 捕获错误并进行相应的处理Dim errMsg As ADODB.ErrorFor Each errMsg In CN.ErrorsMsgBox 错误号 errMsg.Number vbCrLf 错误描述 errMsg.Description, vbExclamationIf InStr(errMsg.Description, 表错误) 0 ThenIf sErr Then sErr sErr Chr(10)sErr sErr errMsg.DescriptionEnd IfNext errMsgErr.Clear
End If四、完整源码
Option ExplicitPrivate Function getConnectionString(Optional ByVal isWinLogin As Boolean False, Optional ByVal sDbName As String master) As String
On Error Resume Next
函数说明获取数据库连接字符串
创建作者Commas
创建时间2023-07-26
修改时间
------传参说明------
isWinLogin是否采用 “Windows 身份验证”默认采用 “SQL Server 身份验证”
sDbName指定需要连接的数据库默认为master
------传参说明------Dim sCNStr As StringIf isWinLogin ThensCNStr ProviderSQLOLEDB;Data Source{ServerName};Initial Catalog{DatabaseName};Trusted_ConnectionYes;Persist Security InfoTrue;If Trim(Me.TxtDB(0).Text) 127.0.0.1 ThensCNStr Replace(sCNStr, {ServerName}, .)ElsesCNStr Replace(sCNStr, {ServerName}, Trim(Me.TxtDB(0).Text))End IfsCNStr Replace(sCNStr, {DatabaseName}, master)ElsesCNStr ProviderSQLOLEDB;Data Source{ServerName};Initial Catalog{DatabaseName};User Id{Username};Password{Password};也可以先不指定 Initial Catalog{DatabaseName};sCNStr ProviderSQLOLEDB;Data Source{ServerName};User Id{Username};Password{Password};sCNStr Replace(sCNStr, {ServerName}, Trim(Me.TxtDB(0).Text))sCNStr Replace(sCNStr, {DatabaseName}, master)sCNStr Replace(sCNStr, {Username}, Trim(Me.TxtDB(1).Text))sCNStr Replace(sCNStr, {Password}, Trim(Me.TxtDB(2).Text))End IfgetConnectionString sCNStr
End FunctionPrivate Sub CmdPing_Click()
On Error Resume NextDim sErr As String: sErr Dim CN As New ADODB.ConnectionCN.ConnectionString getConnectionString()CN.OpenIf CN.State adStateOpen ThenMsgBox 连接成功CN.CloseElseMsgBox 连接失败 Err.DescriptionEnd IfSet CN Nothing
End SubPrivate Sub CheckDatabaseIntegrity(ByVal sDbName As String)
On Error Resume Next
函数说明获取数据库连接字符串
创建作者Commas
创建时间2023-07-25
修改时间
------传参说明------
sDbName指定需要连接的数据库默认为master
------传参说明------Dim sErr As String: sErr Dim CN As New ADODB.Connection 设置数据库连接字符串CN.ConnectionString getConnectionString() 打开数据库连接CN.Open 设置要执行的 SQL 查询CN.Execute DBCC CHECKDB ( sDbName ) WITH NO_INFOMSGS;If CN.Errors.Count 0 Then 捕获错误并进行相应的处理Dim errMsg As ADODB.ErrorFor Each errMsg In CN.ErrorsMsgBox 错误号 errMsg.Number vbCrLf 错误描述 errMsg.Description, vbExclamationIf InStr(errMsg.Description, 表错误) 0 ThenIf sErr Then sErr sErr Chr(10)sErr sErr errMsg.DescriptionEnd IfNext errMsgErr.ClearEnd If 关闭数据库连接CN.CloseIf sErr ThenMsgBox 【 SuperMarket 】检测异常,详情如下” Chr(10) sErrElseMsgBox 【 sDbName 】检测正常End If
End SubPrivate Sub CmdRun_Click()
On Error Resume NextCall CheckDatabaseIntegrity(Me.TxtDB(3).Text)
End Sub 版权声明本文为博主原创文章如需转载请给出 原文链接https://blog.csdn.net/qq_35844043/article/details/131915284