У меня есть кнопка на веб-странице, и мне просто нужна небольшая помощь с дополнительным кодом.Я думаю, что мне нужен оператор TRY, CATCH ?, вот что у меня есть:
У меня есть простая веб-страница, на которой есть кнопка, которая в момент нажатия позволяет пользователю добавлять данные в БДтаблица с помощью хранимой процедуры.После нажатия этой кнопки появляется всплывающее окно с сообщением, чтобы пользователь знал, что данные были переданы.Затем пользователю необходимо нажать кнопку «ОК» в этом окне сообщения, которое затем направит его на домашнюю страницу сайта.Это прекрасно работает.
Код для этого здесь:
Protected Sub btnAddRawData_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddRawData.Click
'database conn, this is linked to the web config file .AppSettings
Using dbconnection As New SqlConnection(ConfigurationManager.AppSettings("dbconnection"))
dbconnection.Open()
'command to state the stored procedure and the name of the stored procedure
Using dbcommand As SqlCommand = dbconnection.CreateCommand
With dbcommand
.CommandType = CommandType.StoredProcedure
.CommandText = "RawData_Insert"
'simply execute the query
dbcommand.ExecuteNonQuery()
'Code to make a pop up work. It enables us to use and call the function
'located on the main Rawdata.aspx page.
Dim cs As ClientScriptManager = Page.ClientScript
Dim csname1 As String = "PopupScript"
Dim cstype As Type = Me.GetType()
Dim cstext1 As New StringBuilder()
cstext1.Append("success();")
cs.RegisterStartupScript(cstype, csname1, cstext1.ToString())
'redirect to the main home page
Response.Redirect("~/default.aspx?")
End With
End Using
End Using
End Sub
Поскольку я не хочу, чтобы пользователь вводил повторяющиеся записи в базе данных (Это может быть сделано пользователем, переходящимвернуться на страницу, где находится btnAddRawData_Click и снова нажать ее.), я создал УНИКАЛЬНЫЙ ИНДЕКС с именем 'DupRecords', чтобы пользователь не мог фиксировать эти данные более одного раза в день.
Когда я запускаюТеперь на веб-странице в браузере появляется следующее сообщение:
Невозможно вставить строку с двойным ключом в объект 'dbo.GasRawData' с уникальным индексом 'DupRecords'.Оператор был прекращен.
Решение, я думаю, состоит в том, чтобы добавить оператор TRY, CATCH в код btnAddRawData_Click.Может кто-нибудь указать мне правильное направление и помочь мне поставить здесь, поскольку я новичок в программировании и не имею большого опыта в этой области.
С уважением, Бетти.