Program,Life,Society.....

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

   前几天列出了几个常用的创建SQL server登陆,登录,用户,角色和组用到的系统存储过程 ,当然还需要检查某一Connectiongstring字符串所在SQL Server的登陆和数据库的用户.下面的两个函数实现了这样的功能,其实其实质还是利用SQL server的存储过程进行查找验证.用到的存储过程是:sp_helpuser.检测SQL server登陆是检查[marst]数据库中的[syslogins]



  Private Shared Function CheckLogin(ByVal CN As StringByVal LoginName As StringAs 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 StringByVal UserName As StringAs 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



其他相关内容

posted on 2004-10-11 18:25  vuejs3  阅读(1390)  评论(0)    收藏  举报