Я использую следующее Shared Function
, чтобы выбрать значение из БД. Меня беспокоит то, что, поскольку общие функции распределены между всеми объектами, может случиться так, что если два человека выполняют функцию почти одновременно, данные будет написано?share function
Я имею в виду, что значение, возвращаемое из БД, будет результатом последнего (самого последнего) выполнения?
EG:
Пользователь 1 выполняет функцию и должны получить «ABCD» Пользователь 2 выполняет функцию и должны получить «1234»
Пользователь 2 выполняет функцию перед пользователем 1 может полное выполнение функции.
Но как пользователи получают «1234»
Public Shared Function SelectScalar(ByVal _sql As String, ByVal _parameterNames() As String, ByVal _parameterVals() As String) As String
Dim _returnVal As String
Dim _connection As SqlConnection = Global.Connection.GetDbConnection()
Dim _command As New SqlCommand(_sql, _connection)
Dim _value As String
Try
If _parameterNames IsNot Nothing Then
For i = 0 To _parameterNames.Length - 1
_command.Parameters.AddWithValue(_parameterNames(i), _parameterVals(i))
Next
End If
_value = CStr(_command.ExecuteScalar)
_returnVal = _value
Catch ex As Exception
_returnVal = Nothing
Finally
If _connection.State = ConnectionState.Open Then
_connection.Close()
_connection.Dispose()
_command.Dispose()
End If
End Try
Return _returnVal
End Function
Обратите внимание, что локальные переменные * не * совместно используются. – mellamokb
Мои глаза болят от всех _ и типа под названием 'Global' –