2014-04-28 4 views
1
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<%@page import="java.sql.*,java.io.*,java.lang.*,java.util.*,javax.servlet.*" %> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Guilty agents</title> 
</head> 
<body> 
     <table> 
     <tr> 
     <td> Agent </td> 
     <td> Guilt Probability </td> 
     </tr>   
    <% 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    Connection con1=DriverManager.getConnection("jdbc:odbc:leak"); 
    Connection con2=DriverManager.getConnection("jdbc:odbc:dld"); 
    ResultSet rs1,rs2; 
    int T=0,TiS=0; 
    float S=1; 
    float RiS[]=new float[4]; 
    Statement s1=con1.createStatement(); 
    Statement s2=con2.createStatement(); 

    String query1="select fileName from Leaked"; 
    String query2="select Filename from Data"; 
    try { 
     rs1=s1.executeQuery(query1);//leaked 
     rs2=s2.executeQuery(query2);//Data 
     while(rs1.next()){ 
     S++; 
     while(rs2.next()){ 
     T++; 
     if(rs1.getString(1).equalsIgnoreCase(rs2.getString(1))) 
      TiS++; 
     } 
     } 
    String query3="select fileName from Leaked"; 

     rs1=s1.executeQuery(query3); 
     while(rs1.next()){ 
     for(int i=1;i<=4;i++){ 
     query2="select FileName from agent"+(char)i; 
     rs2=s2.executeQuery(query2); 
     while(rs2.next()) 
     if(rs1.getString(1).equalsIgnoreCase(rs2.getString(1))) 
      RiS[i]++; 
     %> 
     <tr><td>Agent<%out.println(i);%></td> 
      <td><%out.println(RiS[i]/S);%></td> 
     </tr> 
     <% 
     } 
     } 
     } 
    catch(SQLException e) 
     {out.println(e);}%> 
    </table>  
<% 
    con1.close(); 
    con2.close(); 
%> 
</body> 
</html> 

Ceci est ma page jsp pour récupérer et afficher les données de 2 bases de données. Les DSN sont dld et leak. Lorsque j'essaie d'exécuter ce code, il ne montre aucune donnée trouvée, bien qu'il y ait des données dans toutes les tables utilisées. De plus, lorsque j'essaie d'utiliser printStackTrace(), cela ne montre rien. S'il vous plaît aider!aucune donnée trouvée exception en jsp en utilisant ms access

Répondre

0

Votre première boucle épuise whilers1:

while(rs1.next()){ 
    S++; 
    while(rs2.next()){ 
    T++; 
    if(rs1.getString(1).equalsIgnoreCase(rs2.getString(1))) 
     TiS++; 
    } 

Cette boucle se termine seulement quand il n'y a plus de lignes en rs1 (à savoir, rs1.next() est false). Après cela est fait, vous essayez ce qui suit:

while(rs1.next()){ 

Depuis rs1 est déjà épuisé, cette boucle ne démarre jamais, et vous imprimez rien.

Questions connexes