--------------------------conn.aap------------------------
<%
strconnection="dsn=xgofo;driver={myodbd river};server=localhost;uid=root;pwd=;database=xgofo;Stmt=Set Names 'GBK'" 
Set conn = Server.CreateObject("ADODB.Connection") 
conn.Open strConnection
conn.cursorlocation=3
%>--------------------------主件.aap------------------------
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Response.Buffer = True
   Response.Expires = -1
   Response.ExpiresAbsolute = Now() - 1
   Response.CacheControl = "no-cache"
   %>
<!--#include file="conn.asp"--><% 
if request.querystring("do") = "log" then
   set openconn=server.createobject("adodb.recordset")
   sql="select user,code,id,name,,signid,book_list_num,book_text,type,type_bbs,sd from bbs_user where trim(user)='"&request.form("userid")&"' and trim(code)='"&request.form("usercode")&"'"
   
   openconn.open "select * from bbs_user where user='"&request.form("userid")&"'",conn,1,1
   response.write openconn.recordcount
   if openconn.recordcount  = 1 then
          dim user(7)
   user(0) = openconn("id")
   user(1) = openconn("name")
   user(2) = openconn("book_list_num")
   user(3) = openconn("book_text")
   user(4) = openconn("type")
   user(5) = openconn("type_bbs")
   user(6) = openconn("sd")
   user(7) = openconn("")
   session("user") = user
   response.write "<a href=""userhome.asp?id="&openconn("id")&"&amp;signid="&openconn("signid")&""">前往我的房间</a><br />"
   sign_id="&amp;signid="&openconn("signid")
   else
         response.write "密码或用户名错误<a href=""user_login.asp"">返回</a><br />"
   end if
   openconn.close
   set openconn=nothing
else
 %>
帐号:<input name="user_id" type="text" emptyok="true" size="10" /><br />
密码:<input name="user_code" type="text" emptyok="true" size="10" /><br />
<anchor>登陆<go method="post" href="user_login.asp?do=log"><postfield name="userid" value="$(user_id)"></postfield><postfield name="usercode" value="$(user_code)"></postfield></go></anchor> <a href="regedit.asp">注册</a>
<% 
end if
 %>
在线等答案,因为返回recordcount总是0,所以无法登陆,但本地调试没问题,本地mysql版本:5.0.22-community-nt
,但在空间上面建同样的表,同样的字段,同样的列类型,就出现了上面所说的问题~~空间的版本是:4.0.26郁闷中`~~~

解决方案 »

  1.   

    用SELECT COUNT(*),
    OR
    移动指针到尾,再到头试试,COUNT(*)是最安全的方法
      

  2.   

    1、if   not   rs.eof     then   rs.movelast    
    if   not   rs.bof   then     rs.movefirst   
    再取值
    2、adOpenForwardOnly为光标的缺省值
    RecordCount在光标为adOpenForwardOnly是不能使用,调用就返回-1rs.open   sql,con,3,1
    or
    rs.open   sql,con,1,1
      

  3.   

    RecordCount   属性  
      指示   Recordset   对象中的记录数目。  
       
      返回值  
      返回   Long   值,指示   Recordset   中的记录数目。  
       
      说明  
      用   RecordCount   属性查找   Recordset   对象中的记录数目。如果   ADO   无法确定记录数目或者提供者或游标类型不支持   RecordCount,该属性将返回   -1。  
      .............  
      Recordset   对象的游标类型将影响是否能确定记录的数目。对于仅向前游标,RecordCount   属性将返回   -1;对于静态或键集游标,将返回实际计数;而对于动态游标,则返回   -1   或实际计数,这取决于数据源  
       
      
      

  4.   

    其实用select count(*)
    最简单,考虑的问题少。