代码如下:
if request("usertype")=" " then
usertype=" "
else
usertype=request.Form("usertype")
end if
dim conn,rs,sql
dim index
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("db/xxdb.mdb")
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & DBPath
Set rs = Server.CreateObject("ADODB.Recordset")
if usertype="sales" then
index=0
Set rs=conn.execute("Select * from login where salesname is not null")
elseif … …
elseif … …
elseif … …
end if
… …
<%
if request("usertype")<>" " then
do until rs.EOF %>
Set rs = Server.CreateObject("ADODB.Recordset")
if usertype="sales" then
index=0
Set rs=conn.execute("Select * from login where salesname is not null")
这里明显有错误啊
rs设置2次明显有问题
conn.execute(sql)常常用在更新或者删除里,而你的是用在筛选里,这很少见(因为没什么作用)
如果我没理解错的话,你是想按条件来打开数据库,所以你应该把
Set rs=conn.execute("Select * from login where salesname is not null")
改成:
Rs.open "Select * from login where salesname is not null",Conn,1,1
这样下面的elseif条件里都可以分别按条件打开不同的数据库:
elseif
Rs.open "Select * from xxxxx",Conn,1,1
elseif
Rs.open "Select * from xxxxx",Conn,1,1
............
那么下面判断rs.EOF时就不会出错了。