我正在使用 ADO .NET 连接到数据库:
Dim conn As SqlConnection
Dim sqlcmd As SqlCommand
Dim da As SqlClient.SqlDataAdapter
Dim table As DataTable
conn = New SqlConnection(Utilities.ConnectionString)
sqlcmd = New SqlClient.SqlCommand()
sqlcmd.Connection = conn
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "mySP"
sqlcmd.Parameters.Add(New SqlClient.SqlParameter("@param", param1))
da = New SqlClient.SqlDataAdapter()
da.SelectCommand = sqlcmd
table = New DataTable()
da.Fill(table)
conn.Close()
sqlcmd.Connection.Close()
效果很好。当我在 SQL Server 上启动命令时:
EXEC SP_WHO2
对于从 ADO .NET 中的先前代码进行的每个调用,我在字段 Command 中都有值:“AWAITING COMMAND”,在字段 Status 中,值是“sleeping”。这是什么意思?与数据库的连接仍处于活动状态?我应该怎么做才能关闭数据库连接?