У меня есть сценарий обновления данных Сотрудника в таблице Employee.Ограничение для столбца обновления в sql
Сотрудник
EmpId EmpName
---------------
1 james
2 Anil
3 Nandy
Multiple пользователь обновить EmpName
с помощью EmpId
Если один пользователь обновляет Empname
от Nandy
к Peter
Сотрудник
EmpId EmpName
----------------
1 james
2 Anil
3 Peter
В этой ситуации я должен ограничить другого пользователя обновлением того же EmpName
на 60 секунд.
Если пользователь обновляет EmpName
Peter
к John
то я должен показать предупредительное сообщение, как Обновите через 60 секунд. Я не знаю, как это сделать в моем приложении.
Обновлено
Private Function Getrecentaccountdatevalues() As DataTable
Dim dsMaxdates As New DataSet
Dim dtMaxdates As New DataTable
Dim daMaxdates As SqlDataAdapter
Try
Dim strConnection As SqlClient.SqlConnection = New SqlClient.SqlConnection(strConnect(Me))
Dim ocmdAofA As SqlClient.SqlCommand = New SqlClient.SqlCommand
ocmdAofA.Connection = strConnection
ocmdAofA.CommandText = "usp_getMaxdatesAofA"
ocmdAofA.CommandType = CommandType.StoredProcedure
ocmdAofA.Parameters.Clear()
ocmdAofA.Parameters.Add("@acc_AccountId", SqlDbType.Int, 15).Value = Request.QueryString("acct_AccountID")
ocmdAofA.Parameters.Add("@client_ClientId", SqlDbType.Int, 15).Value = Request.QueryString("acct_ClientID")
strConnection.Open()
daMaxdates = New SqlDataAdapter(ocmdAofA)
daMaxdates.Fill(dtMaxdates)
strConnection.Close()
strConnection.Dispose()
ocmdAofA.Dispose()
Catch ex As Exception
Throw ex
End Try
Return dtMaxdates
End Function
время Сопоставляя во время обновления результата.
Private Sub AofA_Update_Insert()
Try
Dim accountNumber As String = Request.QueryString("acct_AccountID")
datatablerecentaccountvalues = Getrecentaccountdatevalues()
Dim dr As DataRow = datatablerecentaccountvalues.Rows(0)
Dim MaxUpdatedPrepped As DateTime = dr.Item("MaxUpdatedPrepped").ToString()
Dim Universaldatetime As DateTime = Now.ToUniversalTime()
Dim result As Integer = DateDiff(DateInterval.Second, MaxUpdatedPrepped, Universaldatetime)
If (result < 5 And accountNumber = GetrecentAccountID()) Then
ASPNET_MsgBox("Due to handling multiple user updates on same account at same time.Please Reset the page.")
Exit Sub
End If
End Try
Добавить столбец «LastUpdate» в качестве «DateTime», а затем сравнить обновление с «Now()», если это больше, чем 60 секунд выполнения обновления, в противном случае бросок и ошибка? – RemarkLima
Okay @RemarkLima, но есть ли возможность ограничить операцию обновления без добавления столбцов –
Не совсем, как еще вы узнаете, когда это было последнее обновление !? Вы могли бы сделать это с помощью нового стола? Или сделать это через объект 'application'? – RemarkLima