前几天列出了几个常用的创建SQL server登陆,登录,用户,角色和组用到的系统存储过程 ,当然还需要检查某一Connectiongstring字符串所在SQL Server的登陆和数据库的用户.下面的两个函数实现了这样的功能,其实其实质还是利用SQL server的存储过程进行查找验证.用到的存储过程是:sp_helpuser.检测SQL server登陆是检查[marst]数据库中的[syslogins]表
Private Shared Function CheckLogin(ByVal CN As String, ByVal LoginName As String) As Boolean
Dim sql As String
Dim strTemp As String
sql = "Use [master] "
sql += " SELECT [name] FROM [syslogins] Where [Name] = '" & LoginName.Replace("'", "''") & "'"
Try
strTemp = ExecuteScalar(ProviderType.SQL, CN, CommandType.Text, sql)
If Not IsNothing(strTemp) Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
Private Shared Function CheckUser(ByVal CN As String, ByVal UserName As String) As Boolean
Dim sql As String
Dim strttemp As String
Dim t As DataTable
Dim dr As DataRow
Dim sUserName, sLoginName As String
sql = "Exec [sp_helpuser] "
Try
t = ExecuteDataset(ProviderType.SQL, CN, CommandType.Text, sql, "t").Tables("t")
For Each dr In t.Rows
sUserName = dr.Item("UserName")
If IsDBNull(dr.Item("LoginName")) Then
sLoginName = ""
Else
sLoginName = dr.Item("UserName")
End If
If sLoginName.ToLower = UserName.ToLower And sUserName.ToLower = UserName.ToLower Then
Return True
End If
Next
Catch ex As Exception
Return False
End Try
Return False
End Function


浙公网安备 33010602011771号