首先欢迎来到我的问题谢谢你看看,基本上我收到了错误:
连接未关闭。连接的当前状态是打开的。
即使我在代码中明确说明连接正在以Connection.Close()
结束,所以我不明白为什么会这样做,也许它在我想要做的事情的错误位置但是我真的没有任何线索,所以也许另一双眼睛可能发现了我曾经尝试if connection.state = open then connection.close()
和类似事情的错误,但这个错误只是出现而不管我做了什么。我的代码如下:
Protected Sub OkBtn_Click(sender As Object, e As System.EventArgs) Handles OkBtn.Click
Dim ThisDay As Date = Date.Today
Dim ThisUser As String
ThisUser = Request.QueryString("")
If ThisUser = "" Then
ThisUser = "Chris Heywood"
End If
Dim transType As String
transType = Request.QueryString("")
If transType = "" Then
transType = "Fire"
End If
connection.Open()
command = New SqlCommand("Select * From FireTest Where [Trans Type]='Fire' AND Convert(date,[Date],103)=CONVERT(Date,GETDATE(),103)", connection)
datareader = command.ExecuteReader()
If datareader.HasRows = True Then
datareader.Close()
connection.Close()
Exit Sub
End If
connection.Open()
command = New SqlCommand("Insert Into FireTest([Date],[Type],[Comments],[Completed By],[Trans Type]) Values (@Date,@Type,@Comments,@CompletedBy, @TransType)", connection)
command.Parameters.AddWithValue("@Date", ThisDay)
command.Parameters.AddWithValue("@Type", DropDownList1.SelectedValue)
command.Parameters.AddWithValue("@Comments", TextBox1.Text)
command.Parameters.AddWithValue("@CompletedBy", ThisUser)
command.Parameters.AddWithValue("@TransType", transType)
command.ExecuteNonQuery()
connection.Close()
Response.Redirect("~/Production/Navigator.aspx")
End Sub
这是从ASP.NET前端的VB.NET代码隐藏,感谢您阅读至少答案将标记它到达我的解决方案。
答案 0 :(得分:1)
是否有某种connection.Dispose()命令可以使用?我自己并不使用这种特定的语言相当新,但你永远不知道,可以工作......
我会评论,但显然我需要更多声誉!
编辑:您可以在代码中打开连接,然后再打开它而不关闭它,因为Close方法在if语句中?