Web Wolf
29-06-2003, 18:59
Ciao ragazzi, sto scrivendo questa pagina JSP che inserisce e legge in un database SQL i dati che riceve. In pratica, la funzione di inserisci funziona perfettamente, mentre la funzione di ricerca funziona, ma se c'é più di un elemento come risultato, ne visualizza solo uno (prima li visualizzava tutti e ora no ... mah misteri del java :mad: ), comunque la cosa forte é che se inserisco la funzione elimina (che per prova é la copia spiccicata della funzione ricerca) quando la seleziono il server dà un errore, mentre non lo dà se seleziono la funzione di ricerca (che sottolineo essere la sua copia perfetta, tranne che nell'istruzione if).
Quello che mi fa imbestialire del java é che se capita un errore una volta su 1000 si capisce dove é, mentre di solito tocca ad affidarsi a qualche essere superiore per capire dove c#####o é l'errore.
Voi per caso riuscieta a capirlo ?
Grazie :cry:
------------------------------------------------------------------------------
<html>
<head>
<title>Risultato dell'operazione</title>
</head>
<body background="C://Programmi//jakarta-tomcat-3.3.1a//webapps//root//immagini//sfondo5.jpg" text="white">
<%@ page import="java.io.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection con;
con = DriverManager.getConnection("jdbc:mysql://localhost/tesina?user=Lonely Wolf&password=sagitta");
Statement stmt=con.createStatement();
String sql;
String[] pagine=request.getParameterValues("tipopagina");
String pagina=pagine[0];
String valoridisco[] = new String [8];
if (pagina.equals("inserisci")) {
Enumeration eNames=request.getParameterNames();
stmt.executeUpdate("use tesina");
stmt.executeUpdate("create table if not exists dischi (datacom char(30), titolo char(30), code char(30), genere char(30), datapro char(30), autore char(30), casa char(30))");
while (eNames.hasMoreElements()) {
String name=(String) eNames.nextElement();
String[] values=request.getParameterValues(name);
if (name.equals("datacom")) { valoridisco[0]=values[0]; }
if (name.equals("titolo")) { valoridisco[1]=values[0]; }
if (name.equals("code")) { valoridisco[2]=values[0]; }
if (name.equals("genere")) { valoridisco[3]=values[0]; }
if (name.equals("datapro")) { valoridisco[4]=values[0]; }
if (name.equals("autore")) { valoridisco[5]=values[0]; }
if (name.equals("casa")) { valoridisco[6]=values[0]; }
}
if(valoridisco[1].equals("") || valoridisco[5].equals("") || valoridisco[2].equals("")) {
stmt.close();stmt=null;con.close();
%> <jsp:forward page="errorins.jsp"/> <% }
sql="insert into dischi (datacom, titolo, code, genere, datapro, autore, casa)"+
" values ('"+valoridisco[0]+"','"+valoridisco[1]+"','"+valoridisco[2]+"','"+valoridisco[3]+"','"+valoridisco[4]+"','"+
valoridisco[5]+"','"+valoridisco[6]+"')";
stmt.executeUpdate(sql); %>
<fieldset>
<legend><h2><font color="white">Riepilogo dati inseriti</font></h2></legend><br>
<p>Titolo:&nbsp&nbsp&nbsp<%= valoridisco[1] %></p>
<p>Autore:&nbsp&nbsp&nbsp<%= valoridisco[5] %></p>
<p>Genere:&nbsp&nbsp&nbsp<%= valoridisco[3] %></p>
<p>Codice:&nbsp&nbsp&nbsp<%= valoridisco[2] %></p>
<p>Casa:&nbsp&nbsp&nbsp<%= valoridisco[6] %></p>
<p>Data di produzione:&nbsp&nbsp&nbsp<%= valoridisco[4] %></p>
<p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= valoridisco[0] %></p>
</fieldset><br>
<p align="center">Databse aggiornato</p>
<br><br>
<% }
if (pagina.equals("ricerca")) {
Enumeration eNames=request.getParameterNames();
stmt.executeUpdate("use tesina");
while (eNames.hasMoreElements()) {
String name=(String) eNames.nextElement();
String[] values=request.getParameterValues(name);
if (name.equals("tiposelezione")) { valoridisco[0]=values[0]; }
if (name.equals("campotesto")) { valoridisco[1]=values[0]; }
}
if (valoridisco[1].equals("")) { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
sql="select * from dischi where "+valoridisco[0]+" = '"+valoridisco[1]+"'";
ResultSet rs=stmt.executeQuery(sql);
int ris=0;
if (rs.next()) { while (rs.next()) {
ris++;
String datacom=rs.getString(1);
String titolo=rs.getString(2);
String code=rs.getString(3);
String genere=rs.getString(4);
String datapro=rs.getString(5);
String autore=rs.getString(6);
String casa=rs.getString(7);
%>
<fieldset>
<legend><h2><font color="yellow">Risultato n:<%= ris %></font></h2></legend>
<font color="white">
<p>Titolo:&nbsp&nbsp&nbsp<%= titolo %></p>
<p>Autore:&nbsp&nbsp&nbsp<%= autore %></p>
<p>Genere:&nbsp&nbsp&nbsp<%= genere %></p>
<p>Codice:&nbsp&nbsp&nbsp<%= code %></p>
<p>Casa discografica:&nbsp&nbsp&nbsp<%= casa %></p>
<p>Data di produzione:&nbsp&nbsp&nbsp<%= datapro %></p>
<p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= datacom %></p>
</font>
</fieldset><br>
<%
} }
else { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
rs.close();
rs=null;
}
if (pagina.equals("elimina")) {
Enumeration eNames=request.getParameterNames();
stmt.executeUpdate("use tesina");
while (eNames.hasMoreElements()) {
String name=(String) eNames.nextElement();
String[] values=request.getParameterValues(name);
if (name.equals("tiposelezione")) { valoridisco[0]=values[0]; }
if (name.equals("campotesto")) { valoridisco[1]=values[0]; }
}
if (valoridisco[1].equals("")) { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
sql="select * from dischi where "+valoridisco[0]+" = '"+valoridisco[1]+"'";
ResultSet rs=stmt.executeQuery(sql);
int ris=0;
if (rs.next()) { while (rs.next()) {
ris++;
String datacom=rs.getString(1);
String titolo=rs.getString(2);
String code=rs.getString(3);
String genere=rs.getString(4);
String datapro=rs.getString(5);
String autore=rs.getString(6);
String casa=rs.getString(7);
%>
<fieldset>
<legend><h2><font color="yellow">Risultato n:<%= ris %></font></h2></legend>
<font color="white">
<p>Titolo:&nbsp&nbsp&nbsp<%= titolo %></p>
<p>Autore:&nbsp&nbsp&nbsp<%= autore %></p>
<p>Genere:&nbsp&nbsp&nbsp<%= genere %></p>
<p>Codice:&nbsp&nbsp&nbsp<%= code %></p>
<p>Casa discografica:&nbsp&nbsp&nbsp<%= casa %></p>
<p>Data di produzione:&nbsp&nbsp&nbsp<%= datapro %></p>
<p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= datacom %></p>
</font>
</fieldset><br>
<%
} }
else { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
rs.close();
rs=null;
}
stmt.close();
stmt=null;
con.close();
%>
</body>
</html>
[/code]
Quello che mi fa imbestialire del java é che se capita un errore una volta su 1000 si capisce dove é, mentre di solito tocca ad affidarsi a qualche essere superiore per capire dove c#####o é l'errore.
Voi per caso riuscieta a capirlo ?
Grazie :cry:
------------------------------------------------------------------------------
<html>
<head>
<title>Risultato dell'operazione</title>
</head>
<body background="C://Programmi//jakarta-tomcat-3.3.1a//webapps//root//immagini//sfondo5.jpg" text="white">
<%@ page import="java.io.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection con;
con = DriverManager.getConnection("jdbc:mysql://localhost/tesina?user=Lonely Wolf&password=sagitta");
Statement stmt=con.createStatement();
String sql;
String[] pagine=request.getParameterValues("tipopagina");
String pagina=pagine[0];
String valoridisco[] = new String [8];
if (pagina.equals("inserisci")) {
Enumeration eNames=request.getParameterNames();
stmt.executeUpdate("use tesina");
stmt.executeUpdate("create table if not exists dischi (datacom char(30), titolo char(30), code char(30), genere char(30), datapro char(30), autore char(30), casa char(30))");
while (eNames.hasMoreElements()) {
String name=(String) eNames.nextElement();
String[] values=request.getParameterValues(name);
if (name.equals("datacom")) { valoridisco[0]=values[0]; }
if (name.equals("titolo")) { valoridisco[1]=values[0]; }
if (name.equals("code")) { valoridisco[2]=values[0]; }
if (name.equals("genere")) { valoridisco[3]=values[0]; }
if (name.equals("datapro")) { valoridisco[4]=values[0]; }
if (name.equals("autore")) { valoridisco[5]=values[0]; }
if (name.equals("casa")) { valoridisco[6]=values[0]; }
}
if(valoridisco[1].equals("") || valoridisco[5].equals("") || valoridisco[2].equals("")) {
stmt.close();stmt=null;con.close();
%> <jsp:forward page="errorins.jsp"/> <% }
sql="insert into dischi (datacom, titolo, code, genere, datapro, autore, casa)"+
" values ('"+valoridisco[0]+"','"+valoridisco[1]+"','"+valoridisco[2]+"','"+valoridisco[3]+"','"+valoridisco[4]+"','"+
valoridisco[5]+"','"+valoridisco[6]+"')";
stmt.executeUpdate(sql); %>
<fieldset>
<legend><h2><font color="white">Riepilogo dati inseriti</font></h2></legend><br>
<p>Titolo:&nbsp&nbsp&nbsp<%= valoridisco[1] %></p>
<p>Autore:&nbsp&nbsp&nbsp<%= valoridisco[5] %></p>
<p>Genere:&nbsp&nbsp&nbsp<%= valoridisco[3] %></p>
<p>Codice:&nbsp&nbsp&nbsp<%= valoridisco[2] %></p>
<p>Casa:&nbsp&nbsp&nbsp<%= valoridisco[6] %></p>
<p>Data di produzione:&nbsp&nbsp&nbsp<%= valoridisco[4] %></p>
<p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= valoridisco[0] %></p>
</fieldset><br>
<p align="center">Databse aggiornato</p>
<br><br>
<% }
if (pagina.equals("ricerca")) {
Enumeration eNames=request.getParameterNames();
stmt.executeUpdate("use tesina");
while (eNames.hasMoreElements()) {
String name=(String) eNames.nextElement();
String[] values=request.getParameterValues(name);
if (name.equals("tiposelezione")) { valoridisco[0]=values[0]; }
if (name.equals("campotesto")) { valoridisco[1]=values[0]; }
}
if (valoridisco[1].equals("")) { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
sql="select * from dischi where "+valoridisco[0]+" = '"+valoridisco[1]+"'";
ResultSet rs=stmt.executeQuery(sql);
int ris=0;
if (rs.next()) { while (rs.next()) {
ris++;
String datacom=rs.getString(1);
String titolo=rs.getString(2);
String code=rs.getString(3);
String genere=rs.getString(4);
String datapro=rs.getString(5);
String autore=rs.getString(6);
String casa=rs.getString(7);
%>
<fieldset>
<legend><h2><font color="yellow">Risultato n:<%= ris %></font></h2></legend>
<font color="white">
<p>Titolo:&nbsp&nbsp&nbsp<%= titolo %></p>
<p>Autore:&nbsp&nbsp&nbsp<%= autore %></p>
<p>Genere:&nbsp&nbsp&nbsp<%= genere %></p>
<p>Codice:&nbsp&nbsp&nbsp<%= code %></p>
<p>Casa discografica:&nbsp&nbsp&nbsp<%= casa %></p>
<p>Data di produzione:&nbsp&nbsp&nbsp<%= datapro %></p>
<p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= datacom %></p>
</font>
</fieldset><br>
<%
} }
else { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
rs.close();
rs=null;
}
if (pagina.equals("elimina")) {
Enumeration eNames=request.getParameterNames();
stmt.executeUpdate("use tesina");
while (eNames.hasMoreElements()) {
String name=(String) eNames.nextElement();
String[] values=request.getParameterValues(name);
if (name.equals("tiposelezione")) { valoridisco[0]=values[0]; }
if (name.equals("campotesto")) { valoridisco[1]=values[0]; }
}
if (valoridisco[1].equals("")) { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
sql="select * from dischi where "+valoridisco[0]+" = '"+valoridisco[1]+"'";
ResultSet rs=stmt.executeQuery(sql);
int ris=0;
if (rs.next()) { while (rs.next()) {
ris++;
String datacom=rs.getString(1);
String titolo=rs.getString(2);
String code=rs.getString(3);
String genere=rs.getString(4);
String datapro=rs.getString(5);
String autore=rs.getString(6);
String casa=rs.getString(7);
%>
<fieldset>
<legend><h2><font color="yellow">Risultato n:<%= ris %></font></h2></legend>
<font color="white">
<p>Titolo:&nbsp&nbsp&nbsp<%= titolo %></p>
<p>Autore:&nbsp&nbsp&nbsp<%= autore %></p>
<p>Genere:&nbsp&nbsp&nbsp<%= genere %></p>
<p>Codice:&nbsp&nbsp&nbsp<%= code %></p>
<p>Casa discografica:&nbsp&nbsp&nbsp<%= casa %></p>
<p>Data di produzione:&nbsp&nbsp&nbsp<%= datapro %></p>
<p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= datacom %></p>
</font>
</fieldset><br>
<%
} }
else { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% }
rs.close();
rs=null;
}
stmt.close();
stmt=null;
con.close();
%>
</body>
</html>
[/code]