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

救命啊!!问题出在哪里了呢????
<%

                  set   rs1=server.CreateObject( "adodb.recordset ")
      rs1.open   "select   *   from   a   where   id=1 ",conn,1,1
                  set   rs2=server.CreateObject( "adodb.recordset ")
      rs2.open   "select   *   from   b   where   id=1 ",conn,1,1
                  set   rs3=server.CreateObject( "adodb.recordset ")
      rs3.open   "select   *   from   c   where   id=1 ",conn,1,1

      if   rs1( "cc ")=0   or   rs2( "cc ")=0   or   rs3( "cc ")=0   then  
                          response.Write "否 "  
      else
                        response.Write "是 "
      end   if
         
  %>
abc三个表中都有cc字段,cc字段默认值为0,我想要:只要其中一个表中的cc为0就输出“否”,都不为0出处“是”。以上代码测试过可以用,但必须是三个表里都有id=1的信息存在,只要有一个表信息是空了,显示结果就是错的。
比如:ab表有id=1的信息并且cc都等于1,c表没有id=1的信息,显示结果是“否”。(我想让他显示“是”)
怎样修改可以达到:如果表中id=1的信息存在再进一步判断cc是否等于0,等于0直接输出“否”,不等于0继续判断下一个表,直到所有表(存在id=1的信息)中cc字段都不等于0输出“是”。如果哪个表中不存在id=1的信息就不用去判断cc了

------解决方案--------------------
Dim Temp, TableCount

Temp = 0
TableCount = 0

if rs1.RecordCount > 0 then
Temp = Temp + rs1( "cc ")
TableCount = TableCount+1
end if

if rs2.RecordCount > 0 then
Temp = Temp + rs2( "cc ")
TableCount = TableCount+1
end if

if rs3.RecordCount > 0 then
Temp = Temp + rs3( "cc ")
TableCount = TableCount+1
end if

if Temp = TableCount then
response.write "是 "
else
response.write "否 "
end if

试试这样行不行