Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net按钮\u单击事件会多次触发本应触发一次的事件_Vb.net - Fatal编程技术网

VB.net按钮\u单击事件会多次触发本应触发一次的事件

VB.net按钮\u单击事件会多次触发本应触发一次的事件,vb.net,Vb.net,在基于桌面的应用程序中,我的windows窗体上有一个按钮,它似乎会多次启动。它应该在单击时执行一个数据库操作“插入”,但在仅单击一次时,它会多次执行该操作。这只会在2到3个月内偶尔发生,我通过调试确认,它确实会多次启动并调用数据库函数,在一种情况下,只需单击一下就可以调用15次。 单击按钮后,我还输入了禁用按钮的代码,并进行了验证检查,如果按钮为enable true,则继续 我的电脑鼠标按键工作正常 按钮代码如下所示 Private Sub BTnSave_Click(sender As S

在基于桌面的应用程序中,我的windows窗体上有一个按钮,它似乎会多次启动。它应该在单击时执行一个数据库操作“插入”,但在仅单击一次时,它会多次执行该操作。这只会在2到3个月内偶尔发生,我通过调试确认,它确实会多次启动并调用数据库函数,在一种情况下,只需单击一下就可以调用15次。 单击按钮后,我还输入了禁用按钮的代码,并进行了验证检查,如果按钮为enable true,则继续

我的电脑鼠标按键工作正常

按钮代码如下所示

Private Sub BTnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
    Dim CN As New SqlConnection("data source=.;network library=dbmssocn; initial catalog=MyDb; user id=sa; password=abc125;")
    If BtnSave.Enabled = True Then
        Dim inscmd3 As New SqlCommand("insert into Product(id,Name,Category) values(@id,@Name,@Category)")
        With inscmd3
            .CommandType = CommandType.Text
            .Parameters.AddWithValue("@id", lblid.text)
            .Parameters.AddWithValue("@Name", txtName.text)
            .Parameters.AddWithValue("@Category", txtCategory.text)
        End With
        inscmd3.Connection = CN
        inscmd3.Connection.Open()
        inscmd3.ExecuteNonQuery()
        inscmd3.Connection.Close()
        MsgBox("Item Inserted Successfully")
        btnSave.Enabled = False
    End If
End Sub

你是说某些行为每2或3个月发生一次;你假设负责人是一个与时间无关的代码。实际上,此代码中的操作非常简单且具有确定性(=单击按钮时发生)。我有两个问题:为什么你认为这是解释问题的最佳人选?(您不应该查看其他部分,例如与数据库的不同应用程序通信、数据库本身、执行常规操作的程序、您的硬件等。)这是asp.net吗?Winforms?WPF?Silverlight?为什么您认为我们可以通过查看这些代码来了解这里发生了什么?我们是否应该执行这段代码几个月,看看是否最终观察到这种行为?即使是一个非常奇怪的错误,只有在足够长的时间内执行此代码相关次数时才会触发,我们如何在这里解决它?在发布您的问题之前,您不应该仔细考虑这两个问题吗?如果是asp.net并且这是回发问题,则可能会这样做。代码看起来不错。真正的问题是什么叫BTnSave_Click()?