我在网页上有一个按钮,我只需要一些额外代码的帮助。我想我需要一个 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”的唯一索引阻止用户在当天多次提交此数据。
当我现在运行网页时,我在浏览器中收到以下消息:
无法在具有唯一索引“DupRecords”的对象“dbo.GasRawData”中插入重复的键行。该语句已终止。
我认为的解决方案是在 btnAddRawData_Click 代码中添加一个 TRY、CATCH 语句。谁能指出我正确的方向并帮助我放在这里,因为我是编程新手并且在这方面没有太多经验。
问候贝蒂。