读书人

rs.open与rs.close的疑问解决思路

发布时间: 2012-03-12 12:45:33 作者: rapoo

rs.open与rs.close的疑问

VB code
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



运行不报错 但最后那一段
VB code
rs.Open "select 类别,名称,数量,单价,金额 from lingB where Aid= '" & Trim(text1.Text) & "'", db, adOpenStatic, adLockReadOnlySet DataGrid1.DataSource = rsrs.Close
直接没运行


[解决办法]
VB code
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 

读书人网 >VB

热点推荐