以下を使用してShared Function
DB から値を選択しています。私の懸念は、共有関数がすべてのオブジェクト間で共有されるため、2 人がほぼ同時に関数を実行すると、データが上書きされる可能性があることです??
DB から返される値は、最後の (最新の) 実行の結果になるということですか?
例えば:
ユーザー 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