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

set被困在conn里了?
-----------------------index.asp-------------------------------
<%@LANGUAGE= "VBSCRIPT "   CODEPAGE= "936 "%>
<%
sub   openconn
Set   conn   =   Server.CreateObject( "ADODB.Connection ")
connstr   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "   &   Server.MapPath( "data.mdb ")
conn.open   connstr
end   sub

sub   closeconn
conn.close
set   conn=nothing
end   sub

call   openconn()
set   rs=createobject( "ADODB.recordset ")
sql_main= "select   *   from   main   order   by   ID   asc "
rs.open   sql_main,conn,3,1
while   not   rs.eof
Response.write   rs( "id ")
rs.movenext
wend
rs.close
set   rs=nothing
call   closeconn()
%>

------------------------运行结果---------------


技术信息(用于支持人员)

错误类型:
ADODB.Recordset   (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/asp/004/index.asp,   第   17   行


浏览器类型:
Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   .NET   CLR   2.0.50727;   InfoPath.2)  

网页:
GET   /asp/004/index.asp  

时间:
2007年2月20日,   1:45:58  


详细信息:
Microsoft   支持  

----------------------------------

这段代码哪里出错了?应该怎么改?是不是Set只能困在sub里面,我想做一个大站,因为有好几个数据库,使用时再打开,不使用时关闭。所以想用openconn和closeconn来开关数据库。高手请指点!!!

------解决方案--------------------


看到楼主的 问题补充:如果不使用Sub,直接写在代码里面就可以,那么是不是说明set出不了sub?只能困在Sub里面?怎么做才行?2楼的,问题不是出在SQL关键字上面,但还是要谢谢你。

dim conn,connstr
sub openconn
Set conn = Server.CreateObject( "ADODB.Connection ")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.MapPath( "data.mdb ")
conn.open connstr
end sub

加个dim 就行了。
做个广告先...www.kudaa.com