小弟最近做一程序
学生成绩系统
在打印学生成绩时遇见一问题
想将各专业学生的毕业成绩连续打印出来,我利用两个adodb.recordset
先建立一连接cnn
str1 = "select * from xsjbxxb where o_zyh='" & t_zyh & "' order by o_xh"
Set rs1.ActiveConnection = cn
rs1.Open str1
If rs1.RecordCount <> 0 Then
t_xh = rs1!o_xh
Do While rs1.EOF = False
str = "select * from xscjzb where o_xh='" & t_xh & "' order by o_xq "
Set rs2.ActiveConnection = cn
rs2.Open str
If rs2.RecordCount <> 0 Then
rs2.MoveFirst
Do While rs2.EOF = False
......
rs2.movenext
loop
运行提示错误,这个程序出什么问题了,请高手指教
学生成绩系统
在打印学生成绩时遇见一问题
想将各专业学生的毕业成绩连续打印出来,我利用两个adodb.recordset
先建立一连接cnn
str1 = "select * from xsjbxxb where o_zyh='" & t_zyh & "' order by o_xh"
Set rs1.ActiveConnection = cn
rs1.Open str1
If rs1.RecordCount <> 0 Then
t_xh = rs1!o_xh
Do While rs1.EOF = False
str = "select * from xscjzb where o_xh='" & t_xh & "' order by o_xq "
Set rs2.ActiveConnection = cn
rs2.Open str
If rs2.RecordCount <> 0 Then
rs2.MoveFirst
Do While rs2.EOF = False
......
rs2.movenext
loop
运行提示错误,这个程序出什么问题了,请高手指教
if rs2.state<>0 then rs.close
另外, 完全可以够照一个sql语句联合2个表查询
select xcjzb.xxx, xcjzb.xxx2.... from xscjzb,xsjbxxb where xsjbxxb.o_zyh = '" &
t_zyh & "' and xcjzb.o_xh = xsjbxxb.o_xh order by xcjzb.o_xh"
recordset.Open Source, ActiveConnection, CursorType, LockType, Options要设cursortype,locktype,才能用recordcount属性使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时,或者如果提供者或游标类型不支持 RecordCount,则该属性返回 –1。读已关闭的 Recordset 上的 RecordCount 属性将产生错误。如果 Recordset 对象支持近似定位或书签(即 Supports (adApproxPosition) 或 Supports (adBook) 各自返回 True),不管是否完全填充该值,该值将为 Recordset 中记录的精确数目。如果 Recordset 对象不支持近似定位,该属性可能由于必须对所有记录进行检索和计数以返回精确 RecordCount 值而严重消耗资源。Recordset 对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount 属性将返回 -1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回 -1 或实际计数。