2017-05-10 3 views
0

Der folgende Code wird verwendet, um den Titel und den Kommentar aus der Datenbank anzuzeigen. Sein Holen, aber Problem ist - wenn ich erste Daten in der Datenbank speichere, wird es nicht angezeigt, und es schafft separate para für jeden einzelnen Datenabruf von der Datenbank. Ich habe Abfrage geschrieben, um nur 3 Datensätze anzuzeigen, die mit Limit DESC angezeigt werden, aber nur 3 Datensätze werden nicht abgerufen. mein Problem mit diesem Code <% resultSet.next();%> es erstellt die separate para für separate Daten.Wie kann man mit jsp nur 3 Datensätze aus der Datenbank holen?

Hinweis: Ich möchte 3 Datensätze aus der Datenbank in die Zielseite anzeigen. Wenn Sie neue Daten in die Datenbank einfügen, sollte dies sofort auf der Zielseite angezeigt werden.

Bitte bearbeiten meinen Code

<%@page import="java.sql.DriverManager"%> 
 
    <%@page import="java.sql.ResultSet"%> 
 
    <%@page import="java.sql.Statement"%> 
 
    <%@page import="java.sql.Connection"%> 
 
    
 
    <% 
 
    String driverName = "com.mysql.jdbc.Driver"; 
 
    String connectionUrl = "jdbc:mysql://localhost:3306/"; 
 
    String dbName = "test"; 
 
    String userId = "root"; 
 
    String password = ""; 
 
    try { 
 
     Class.forName(driverName); 
 
    } catch (ClassNotFoundException e) { 
 
     e.printStackTrace(); 
 
    } 
 
    
 
    Connection connection = null; 
 
    Statement statement = null; 
 
    ResultSet resultSet = null; 
 
    %> 
 
    <% 
 
    try{ 
 
     connection = DriverManager.getConnection(connectionUrl+dbName, userId, password); 
 
     statement=connection.createStatement(); 
 
     String query ="SELECT * from news_form ORDER BY title,comment DESC LIMIT=3"; 
 
     resultSet = statement.executeQuery(query); 
 
     resultSet.next(); 
 
     while(resultSet.next()){ 
 
    %> 
 
      <%=resultSet.getString("title")%><br>     
 
      <%=resultSet.getString("comment") %> 
 
      <% resultSet.next();%> <% resultSet.next();%> 
 
    <% 
 
     } 
 
    } catch (Exception e) { 
 
     e.printStackTrace(); 
 
    } 
 
    %>

+0

Für alle Updates zu DB, müssen Sie für alle DB-Änderungen zu überprüfen, da wird es keine Updates von DB Ende zur Verfügung schieben werden. –

+0

Außerdem, ich denke, Sie müssen DB nur durch Java-Code aktualisieren, so dass Sie möglicherweise an diesem Punkt auslösen können. –

Antwort

0

Ich bezweifle, dass ich Ihr Problem klar zu verstehen, aber ich denke, für Schleife statt, während Sie Ihr Problem lösen,
wie diese,
statt

while(resultSet.next()){ 
    %> 
<%=resultSet.getString("title")%><br>     <%=resultSet.getString("comment") %> 

<% resultSet.next();%> <% resultSet.next();%> 

Verwendung dieses

for(int i=0;i<3;i++){ 
    %> 
<%=resultSet.getString("title")%><br>     <%=resultSet.getString("comment") %> 
Verwandte Themen