VB程序运行中出现“连接无法用于执行此操作。在此上下文中它可能已被关闭或无效?”是怎么回事?

第10行是出错代码
Dim ab As New ADODB.Connection
Dim dn As New ADODB.Recordset

Private Sub Command1_Click()
If Text1.Text = 0.25 Then
Dim bs As String
ab.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Administrator\Desktop\法兰GB文献\VB数据库练习\97版库\非金属软垫片1.mdb"
ab.Open
MsgBox ("连接成功")
bs = "select * from 非金属软垫片0,25 where DN = '" & Val(Text2.Text) & "'"
dn.Open bs '出错代码是这一行
Text4.Text = dn.Fields(D3)
End If
dn.Close '关闭记录集对象
Set dn = Nothing '释放内存
ab.Close '关闭数据库对象
Set ab = Nothing '释放内存
End Sub

这个错误通常是由于连接已经被关闭或者无效导致的。根据您提供的代码,出错的行是 'dn.Open bs'。我建议您检查以下连接字符串和表名是否正确。如果表名带有空格,则需要在查询中使用方括号,例如:“select * from [非金属软垫片0,25] where DN = 'xxx'”。此外,也可以尝试使用 Try...Catch 结构来对异常进行捕获,并进行适当处理。