日期:2014-05-17  浏览次数:20977 次

求求各位大神教我怎么用recordset中的find
<%
set con=server.createobject("adodb.connection")
strcon="dsn=XSGL;uid=sa;pwd=555"
con.open strcon
set rs=server.createobject("adodb.recordset")
rs.open "select sno,sname from student",con
rs.find "sname='刘晨'" 这里我用"sno='95002'"也不行,不是多段查询
response.write(rs.fields(1).value)
%>
这段代码有错误,是find的错吧,怎么用啊?谢谢了。
最好能够帮我改一下,代码也不长。不要复制find的解释我看过了。谢谢。如果有独到的见解可以说下,最好一针见血指出错误。我把这段代码放在了body里。我的文件名是.asp
忘了说了我的数据库是sqlserver2005

------解决方案--------------------
rs.open "select sno,sname from student where sname='刘晨'",con
response.write(rs("sname"))

------解决方案--------------------
rs.open "select sno,sname from student",con,1,1
加上,1,1
------解决方案--------------------
这个百度一下就都有了。

RS.OPEN SQL,CONN,A,B

A: 

ADOPENFORWARDONLY(=0) 
只读,且当前数据记录只能向下移动

ADOPENKEYSET(=1) 
只读,当前数据记录可自由移动

ADOPENDYNAMIC(=2) 
可读写,当前数据记录可自由移动

ADOPENSTATIC(=3) 
可读写,当前数据记录可自由移动,可看到新增记录

B:

ADLOCKREADONLY(=1) 
缺省锁定类型,记录集是只读的,不能修改记录

ADLOCKPESSIMISTIC(=2) 
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

ADLOCKOPTIMISTIC(=3) 
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

ADLOCKBATCHOPTIMISTIC(=4) 
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。