anche io devo risolvere il problema dei numerosi record.Ho 10000 record e non riesco a metterne 10 per pagina. Ho provato a vedere i vostri consigli,ma niente. Devo stampare per ogni record circa 5-6 campi,quindi non so se la query è giusta
il codice che ho scritto è:
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.regex.*" %>
<%! Connection con = null; %>
<%! Statement st = null; %>
<%! ResultSet rs = null; %>
<HTML>
<HEAD>
<TITLE>RICERCA DATI CED SINP</TITLE>
</HEAD>
<BODY>
<%
try {
Class.forName("com.mysql.jdbc.Driver").newInstance ();
con = DriverManager.getConnection("jdbc:mysql://localhost/ArchivioDeposito", "stage", "stage");
st = con.createStatement();
String strSQL = "SELECT contatore, Fascicolo.Descrizione, classifica.ID, classifica.Descrizione, MotivazioniDiScarto.ID, MotivazioniDiScarto.Descrizione, annoprotocollo, tipofascicolo.tfasc_id ";
strSQL = strSQL + "FROM (classifica INNER JOIN (tipofascicolo INNER JOIN Fascicolo ON tipofascicolo.tfasc_id=Fascicolo.tfasc_id) ON classifica.ID=Fascicolo.IDClassifica) ";
strSQL = strSQL + "INNER JOIN MotivazioniDiScarto ON Fascicolo.IDMotivazioniDiScarto = MotivazioniDiScarto.ID ";
strSQL = strSQL + "WHERE 1=1 ";
int CodTipoFasc=0;
if (request.getParameter("slcFascicolo")=="") {
CodTipoFasc=-1;
}
else {
CodTipoFasc = Integer.parseInt(request.getParameter("slcFascicol o").trim());
}
if (CodTipoFasc!=-1) {
strSQL = strSQL + "AND tipofascicolo.tfasc_id = " + CodTipoFasc + " ";
}
int numcontatore=0;
if (request.getParameter("txtContatore")=="") {
numcontatore=-1;
}
else {
numcontatore = Integer.parseInt(request.getParameter("txtContator e").trim());
}
if (numcontatore!=-1) {
strSQL = strSQL + "AND contatore = " + numcontatore + " ";
}
String DescFascicolo=request.getParameter("txtDescrizione ").trim();
if (request.getParameter("txtDescrizione").trim()=="" ) {
DescFascicolo="";
}
else {
String[] ParQuery = Pattern.compile(" ").split(DescFascicolo);
for (int i=0; i<ParQuery.length; i++) {
strSQL = strSQL + "AND Fascicolo.Descrizione LIKE '%" + ParQuery[i] + "%' ";
}
}
int CodClassDesc=0;
if (request.getParameter("slcClassDesc")=="") {
CodClassDesc=-1;
}
else {
CodClassDesc = Integer.parseInt(request.getParameter("slcClassDes c").trim());
}
if (CodClassDesc!=-1) {
strSQL = strSQL + "AND classifica.ID = " + CodClassDesc + " ";
}
/*int CodMotScarto=0;
if (request.getParameter("slcMotScartoDesc")=="") {
CodMotScarto=-1;
}
else {
CodMotScarto = Integer.parseInt(request.getParameter("slcMotScart oDesc").trim());
}
if (CodMotScarto!=-1) {
strSQL = strSQL + "AND MotivazioniDiScarto.ID = " + CodMotScarto + " ";
}*/
int AnnoProtoDa=0;
if (request.getParameter("txtannoprotocolloda")!="") {
AnnoProtoDa = Integer.parseInt(request.getParameter("txtannoprot ocolloda").trim());
strSQL = strSQL + "AND annoprotocollo >= " + AnnoProtoDa + " ";
}
int AnnoProtoA=0;
if (request.getParameter("txtannoprotocolloa")!="") {
AnnoProtoA = Integer.parseInt(request.getParameter("txtannoprot ocolloa").trim());
strSQL = strSQL + "AND annoprotocollo <= " + AnnoProtoA + " ";
ResultSet rs = st.executeQuery (strSQL);
}
rs = st.executeQuery(strSQL);
out.println("<FORM Name='frmRisultatiRicerca'>");
out.println("<P Align='center'>");
out.println("<TABLE Border='0'>");
out.println("<TH BgColor='NAVY'><FONT Face='BOOK ANTIQUA' Size='2' Color='WHITE'>" + "contatore" + "</FONT></TH>");
out.println("<TH BgColor='NAVY'><FONT Face='BOOK ANTIQUA' Size='2' Color='WHITE'>" + "Fascicolo.Descrizione" + "</FONT></TH>");
out.println("<TH BgColor='NAVY'><FONT Face='BOOK ANTIQUA' Size='2' Color='WHITE'>" + "classifica.Descrizione" + "</FONT></TH>");
out.println("<TH BgColor='NAVY'><FONT Face='BOOK ANTIQUA' Size='2' Color='WHITE'>" + "MotivazioneDiScarto.Descrizione" + "</FONT></TH>");
out.println("<TH BgColor='NAVY'><FONT Face='BOOK ANTIQUA' Size='2' Color='WHITE'>" + "annoprotocollo" + "</FONT></TH>");
out.println("<TBODY BgColor='WHITESMOKE'>");
while (rs.next())
{
out.println("<TR>");
out.println("<TD><FONT Face='BOOK ANTIQUA' Size='2' Color='NAVY'>" + rs.getString("contatore") + "</FONT></TD>");
out.println("<TD><FONT Face='BOOK ANTIQUA' Size='2' Color='NAVY'>" + rs.getString("Fascicolo.Descrizione") + "</FONT></TD>");
out.println("<TD><FONT Face='BOOK ANTIQUA' Size='2' Color='NAVY'>" + rs.getString("classifica.Descrizione") + "</FONT></TD>");
out.println("<TD><FONT Face='BOOK ANTIQUA' Size='2' Color='NAVY'>" + rs.getString("MotivazioniDiScarto.Descrizione") + "</FONT></TD>");
out.println("<TD><FONT Face='BOOK ANTIQUA' Size='2' Color='NAVY'>" + rs.getInt("annoprotocollo") + "</FONT></TD>");
out.println("</TR>");
}
out.println("</TBODY>");
out.println("</TABLE>");
out.println("</FORM>");
rs.close();
st.close();
con.close();
}
catch (SQLException sqlEX) {
out.println("Errore: " + sqlEX);
}
%>
</BODY>
</HTML>