Asp.net 尝试捕获两次运行SQL查询的异常

Asp.net 尝试捕获两次运行SQL查询的异常,asp.net,sql,sql-server,vb.net,Asp.net,Sql,Sql Server,Vb.net,这个函数似乎运行了两次SQL查询,知道为什么吗 当我运行insert SQL查询时,它会插入数据,但也会返回以下错误: 违反主键约束“PK_usd_T_Cod_uu143F51C51BFD2C07”。 无法在对象“dbo.SD\u T\u代码”中插入重复键。复制品 键值为(t-503) 这似乎告诉我它运行了两次SQL,第一次插入,但第二次没有插入,因为id已经存在(它是在第一次插入时创建的) Public函数InsertUpdateData(ByVal cmd作为SqlCommand)作为布尔值

这个函数似乎运行了两次SQL查询,知道为什么吗

当我运行insert SQL查询时,它会插入数据,但也会返回以下错误:

违反主键约束“PK_usd_T_Cod_uu143F51C51BFD2C07”。 无法在对象“dbo.SD\u T\u代码”中插入重复键。复制品 键值为(t-503)

这似乎告诉我它运行了两次SQL,第一次插入,但第二次没有插入,因为id已经存在(它是在第一次插入时创建的)

Public函数InsertUpdateData(ByVal cmd作为SqlCommand)作为布尔值
Dim connStr As String=ConfigurationManager.ConnectionString(“dbConnect”).ConnectionString
Dim con作为新的SqlConnection(connStr)
cmd.CommandType=CommandType.Text
cmd.Connection=con
尝试
con.Open()
cmd.ExecuteNonQuery()
返回真值
特例
响应。写入(例如消息)
'resultSQL.Text=ex.Message
返回错误
最后
resultSQL.Text=“已成功保存”
con.Close()
con.Dispose()
结束尝试
端函数
末级

检查您的页面是否进行了回发。但是我认为如果你在代码中添加一个刹车点,你会发现为什么…我认为页面正在进行一些回发,但是如果我放置一个
if not ispostback
语句,代码将不会执行(只需调试它:)。我也不知道在你的页面上你在哪里调用插入。您不能在加载页面时插入。您必须单击按钮或其他类似的地方执行此操作。
cmd.CommandText
的值是多少?如何以及何时调用函数InsertUpdateData?我无法想象你的问题存在于这个函数中。