日期:2014-05-18  浏览次数:20684 次

一个想不通的问题!

<%
         try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433;DatabaseName=WLTX";
conn=DriverManager.getConnection(url,"sa","");

} catch (Exception e) {
e.printStackTrace();
}

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

strSql="select * from bbscontent where tag=1";
rs=stmt.executeQuery(strSql);
while(rs.next()){


          //out.print(rs.getString(6));这句输出是有值的
          aaa=rs.getString(6);
              //aaa="zrs";
          stmt2=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

          strSql2="select * from bbsuser where username='"+aaa+"'";
     rs2=stmt2.executeQuery(strSql2);
     rs2.next();
     out.print(rs2.getString(1));
     rs2.close();
     stmt2.close();

  }
  rs.close();
stmt.close();
conn.close();
   
%>
代码如上,我在循环内用查询结果在次查询,可内部查询总是没有当前行,如果查询同一张表或把上面的aaa直接赋值也可以,就是不能用查询结果做条件.问题困扰我很久了,望高手帮帮忙!

------解决方案--------------------
使用一条sql语句就可以吧。
select bbsuser.* from bbsuser,bbscontent where bbscontent.username=bbsuser.username
试试看
------解决方案--------------------
有什么异常提示不?这样做是可以的