rs.open与rs.close的疑问
Private Sub Command2_Click()Dim a As StringIf combo1.Text = "" Or combo2.Text = "" Or text4.Text = "" Or IsNumeric(text4.Text) = False Or text5.Text = "" Or IsNumeric(text5.Text) = False ThenMsgBox ("请检查详细记录是否为空,或是否输入的是数字!")ElseSet db = New ADODB.ConnectionSet rs = New ADODB.Recordsetdb.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=lzjc;Data Source=."db.Opena = "insert into lingB(Aid,类别,名称,数量,单价) values('" & Trim(text1.Text) & "','" & Trim(combo1.Text) & "','" & Trim(combo2.Text) & "','" & Trim(text4.Text) & "','" & Trim(text5.Text) & "')"db.Execute (a)rs.Open "select sum(金额) as 合计 from lingB where lingB.Aid='" & Trim(text1.Text) & "'", db, adOpenStatic, adLockReadOnlyText3.Text = Trim(rs.Fields("合计").Value)rs.Closers.Open "select 类别,名称,数量,单价,金额 from lingB where Aid= '" & Trim(text1.Text) & "'", db, adOpenStatic, adLockReadOnlySet DataGrid1.DataSource = rsrs.CloseEnd Ifcombo1.Text = ""combo2.Text = ""text4.Text = ""text5.Text = ""End Sub
rs.Open "select 类别,名称,数量,单价,金额 from lingB where Aid= '" & Trim(text1.Text) & "'", db, adOpenStatic, adLockReadOnlySet DataGrid1.DataSource = rsrs.Close
Option Explicit Dim objRs As Recordset Dim objCn As Connection Dim sql As String Dim strcn As StringPrivate Sub Command1_Click() Set objCn = New Connection '实例化Connection对象objCn Set objRs = New Recordset '就是重新设置了数据集对象,老的也就不存在了,就不需要关闭以前打开的纪录集,自动关闭了。 strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\wdOld.mdb;Persist Security Info=False" objCn.ConnectionString = strcn '创建数据库连接 objCn.Open sql = "SELECT * FROM jishijilu" Set objRs.ActiveConnection = objCn objRs.CursorLocation = adUseClient objRs.CursorType = adOpenStatic objRs.Open sql Set DataGrid1.DataSource = objRs Label1 = "共获得" & objRs.RecordCount & "条查询结果"End Sub