本人写了以下代码读取数据库,当执行到rs.open处就发生了错误,不知何解,错误信息如下:
Microsoft JET Database Engine 错误 '80040e10'
至少一个参数没有被指定值。
虽然所有变量都不是空值,但还是提示这个错误,下面是源代码,
Set conn = Server.CreateObject("ADODB.Connection")
Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath("menber.mdb")
conn.Open Provider & DBPath
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select * From applygoldmember where username = '" & username & "'"
rs.Open sql,conn,Cursor,2
请教各位rs.open的参数及其用法,谢谢!
---------------------------------------------------------------
rs.Open sql,conn,3,1
---------------------------------------------------------------
问题:请教各位rs.open的参数及其用法。
解答:
RS.OPEN SQL,CONN,A,B
参数A为设定游标的类型,其取值为:
0 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark
1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。
3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
参数B为记录集的锁定类型,其取值为:
1 锁定类型,默认的,只读,不能作任何修改
2 当编辑时立即锁定记录,最安全的方式
3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
4 当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的
---------------------------------------------------------------
错误信息不是说Engine 出错吗?你找Recordset的错有什么用呢?
Microsoft.Jet.OLEDB.4.0需要有the Microsoft Data Access Components (MDAC)
查查你的系统有没有这个东东。window2000+iis5.0测试通过。
---------------------------------------------------------------
rs.Open sql,conn,Cursor,2 ??
rs.Open sql,conn,1,1 只读
rs.Open sql,conn,1,3 可写
---------------------------------------------------------------
这个应该是你的数据库连接的问题,由于数据库连接没成功,所以你的RS自然也就不能正确打开了。
你用的是ACCESS2000吗?你的MDB数据库的路径正确吗?
还有
recordset 对象的open方法最多有四个参数。
rs.open sql语句,活动连接名,指针类型,锁定方式
一般用
rs.open "select ...",conn,3,1
就可以。