Advertisement
Guest User

Untitled

a guest
Sep 18th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. ' DB DATA
  2. Public DBDA As SqlDataAdapter
  3. Public DBDT As DataTable
  4. Public DBDS As DataSet
  5.  
  6.  
  7. ' QUERY PARAMETERS
  8. Public Params As New List(Of SqlParameter)
  9.  
  10. ' QUERY STATISTICS
  11. Public RecordCount As Integer
  12. Public Exception As String
  13.  
  14. Public Sub New()
  15. End Sub
  16.  
  17.  
  18. ' ALLOW CONNECTION STRING OVERRIDE
  19. Public Sub New(ByVal ConnectionString As String)
  20. DBCon = New SqlConnection(ConnectionString)
  21. End Sub
  22.  
  23. ' LOGIN CONNECTION TO DB
  24. Public Function HasConnection() As Boolean
  25. Try
  26. DBCon.Open()
  27.  
  28. DBCon.Close()
  29. Return True
  30. Catch ex As Exception
  31. MsgBox(ex.Message)
  32. End Try
  33. Return False
  34. End Function
  35.  
  36. 'RUN LOGIN CONNECTION TO DB
  37. Public Sub RunQuery(ByVal Query As String)
  38. Try
  39. DBCon.Open()
  40.  
  41. 'CREATE A COMMAND
  42. DBCmd = New SqlCommand(Query, DBCon)
  43.  
  44. 'FILL DATASET
  45. DBDA = New SqlDataAdapter(DBCmd)
  46. DBDS = New DataSet
  47. DBDA.Fill(DBDS)
  48.  
  49.  
  50. DBCon.Close()
  51.  
  52. Catch ex As Exception
  53. MsgBox(ex.Message)
  54. ' MAKES SURE THAT THE CONNECTION IS CLOSED
  55. If DBCon.State = ConnectionState.Open Then
  56. DBCon.Close()
  57. End If
  58. End Try
  59. End Sub
  60. ' EXECUTE QUERY SUB
  61. Public Sub ExecQuery(ByVal Query As String)
  62. ' RESET QUERY STATS
  63. RecordCount = 0
  64. Exception = ""
  65.  
  66. Try
  67. DBCon.Open()
  68. ' CREATE DB COMMAND
  69. DBCmd = New SqlCommand(Query, DBCon)
  70.  
  71. 'LOAD PARAMS INTO DB COMMAND
  72. Params.ForEach(Sub(p) DBCmd.Parameters.Add(p))
  73.  
  74. 'CLEAR PARAM LIST
  75. Params.Clear()
  76.  
  77. 'EXECUTE COMMAND & FILL DATASET
  78. DBDT = New DataTable
  79. DBDA = New SqlDataAdapter(DBCmd)
  80. RecordCount = DBDA.Fill(DBDT)
  81.  
  82. Catch ex As Exception
  83. 'CAPTURE ERROR
  84. Exception = "ExecQuery Error: " & vbNewLine & ex.Message
  85.  
  86. Finally
  87. ' CLOSE CONNECTION
  88. If DBCon.State = ConnectionState.Open Then DBCon.Close()
  89. End Try
  90. End Sub
  91.  
  92. 'ADD PARAMS
  93. Public Sub AddParam(ByVal Name As String, ByVal Value As Object)
  94. Dim NewParam As New SqlParameter(Name, Value)
  95. Params.Add(NewParam)
  96. End Sub
  97.  
  98. ' ERROR CHECKING
  99. Public Function HasException(Optional ByVal Report As Boolean = False) As Boolean
  100. If String.IsNullOrEmpty(Exception) Then Return False
  101. If Report = True Then MsgBox(Exception, MsgBoxStyle.Critical, "Exception:")
  102. Return True
  103. End Function
  104.  
  105. Private Sub BtnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
  106. ' CONNECT TO MAIN FORM USING USERNAME AND PASSWORD FROM DB
  107. If SQL.HasConnection = True Then
  108. If IsAuthenticated() = True Then
  109. AuthUser = txtUsername.Text
  110. MsgBox("Login Successfully!")
  111. OfficeEquipments.Show()
  112. Me.Hide()
  113. End If
  114. End If
  115. End Sub
  116.  
  117. Private Function IsAuthenticated() As Boolean
  118. ' CLEAR EXISTING RECORDS
  119. If SQL.DBDS IsNot Nothing Then
  120. SQL.DBDS.Clear()
  121.  
  122. End If
  123. 'SQL PASSWORD CASE SENSITIVE COMMAND
  124. SQL.RunQuery("SELECT Count(Username) As UserCount " & _
  125. "FROM Accounts " & _
  126. "WHERE Username='" & txtUsername.Text & "' " & _
  127. "AND Password='" & txtPassword.Text & "' COLLATE SQL_Latin1_General_CP1_CS_AS")
  128.  
  129. If SQL.DBDS.Tables(0).Rows(0).Item("UserCount") = 1 Then
  130. Return True
  131.  
  132. End If
  133. MsgBox("Invalid User Credentials.", MsgBoxStyle.Critical, "LOGIN FAILED")
  134. Return False
  135. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement