madas Δημοσ. 28 Αυγούστου 2012 Δημοσ. 28 Αυγούστου 2012 εχω δημιουργησει ενα java servlet το οποιο παιρνει πληροφοριες που δινει ο χρηστης απο ενα jsp αρχειο και τις στελνει σε ενα java αρχειο το οποιο συνδεεται με μια βαση δεδομενων και βασει τα δεδομενα που εχει εισαγει ο χρηστης επιστρεφει και τα αναλογα δεδομενα απο την βαση. ολα τρεχουν τελεια εκτος απο το java αρχειο το οποιο δεν μπορει να συνδεθει με την βαση και να τραβηξει τα δεδομενα της. το χω ψαξει αρκετα και δεν βρει καποιο λαθος στον κωδικα αλλα δεν μπορω να βρω τι φταει... παρακατω ειναι ο κωδικας του java αρχειου > package finalProject; import java.sql.DriverManager; import java.sql.ResultSet; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; public class dbreadNcalculate { public static void dbconnect (String thl, int choice, StringBuilder res) throws Exception { ResultSet result; Connection con; try{ Class.forName("com.mysql.jdbc.Driver"); //Apoktoume prosvash ston odhgo mesw tou jar arxeiou con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/costsdb","root","root");//Dhmiourgoume mia metavliti gia tin syndesh //jdbc:mysql://localhost:3306/costsdb --> auth einai h vash pou xrhsimopoioume //root einai o xrhsths ths vashs dedomenwn //root einai kai o kwdikos tou xrhsth ths vashs dedomenwn PreparedStatement statement = (PreparedStatement) con.prepareStatement("SELECT MONTH(hmerom_klhshs),TIME_TO_SEC(TIMEDIFF(termatismos_klhshs,enarksh_klhshs)) FROM klhseis where ar_thl='"+thl+"'"); /*Zitame ta ekshs dedomena apo thn vash: mhnas kai diarkeia klhsewn gia ton xrhsth me arithmou thlefwnou thl(opou thl o arithmos pou pliktrologisame)*/ result = statement.executeQuery(); //Dhmiourgoume mia metavliti gia tin ektelesh tou erwthmatos mas int month,sec,i; int[] diarkeia = new int[12]; //enas monodiastatos pinakas me tin diarkeia klhsewn ana mhna int[] ar_klhsewn = new int[12]; //enas monodiastatos pinakas me ton arithmo klhsewn ana mhna double kostos = 0; int mo,syn_mo,syn_klhsewn,syn_diarkeia; for ( i = 0 ; i <= 11 ; i++){ //arxikopoihsh twn metavlhtwn mas diarkeia[i]=0; ar_klhsewn[i]=0; } while(result.next()){ //Oso uparxoun dedomena apo to result(dhladh apo to apotelesma tou erwthamatos mas) month=Integer.parseInt(result.getString(1)); // to prwto string eisagete sthn metavliti month(typou int) sec=Integer.parseInt(result.getString(2)); // to deutero string eisagete sthn metavliti sec(typou int) if (sec<60){ sec=60; } // elaxisth diarkeia klhshs ta 60 sec diarkeia[month-1]= diarkeia[month-1] + sec; // synolo diarkeias klhsewn se second gia ton ka8e mhna ar_klhsewn[month-1]=ar_klhsewn[month-1] +1; // synolo klhsewn gia ka8e mhna } if(choice==1){ // mhniaio antitimo logariasmou res.append ("<table border='2'><tr><th><b><u>Μήνας</u></b></th><th><b><u>Χρέωση</u></b></th></tr>"); // typwnei stin html enan pinaka me border 2 kai tis sthles Mhnas kai Xrewsh for (i=0;i<=11;i++){ if (diarkeia[i]<=900){ // 900 = 15 * 60 (ta 15 lepta se sec) kostos = 10; //an h synolikh diarkeia klhsewn einai katw twn 15 leptwn,tote plirwnoume mono to pagio 10 euro }else { long differencem = (diarkeia[i] - 900)/60 ; long differences = (diarkeia[i] - 900)%60 ; if (differences > 0){ differencem = differencem + 1 ; } kostos = (differencem * 0.12) + 10 ; } res.append("<tr><td>").append(i+1).append("</td><td>").append(kostos).append("</td></tr>"); //typwnei kainourgia grammh ston pinaka me ton arithmo tou mhna kai tin xrewsh } res.append ("</table>"); //kleinoume ton pinaka stin html } else if (choice==2){ //ypologismos meswn orwn diarkeias klhshs ana hmerologiako mina kai typwsh autwn se pinaka res.append ("<table border='1'><tr><th>Μήνας</th><th>Μέσος όρος κλήσης</th></tr>"); for (i=0;i<=11;i++){ mo=0; if(ar_klhsewn[i]>0){ //an yparxoun dhladh klhseis ton sygkekrimeno mhna tote ypologise ton meso oro ws to athroisma diarkeiwn autwn dia ton arithmo tous mo = diarkeia[i]/ar_klhsewn[i]; } res.append("<tr><td>").append(i+1).append("</td>").append("<td>").append(mo).append("</td></tr>"); } res.append ("</table>"); } else if (choice==3){ //ypologismos synolikou mesou orou diarkeis klhshs syn_diarkeia = 0; syn_klhsewn = 0; for (i=0;i<=11;i++){ syn_diarkeia = syn_diarkeia + diarkeia[i]; syn_klhsewn= syn_klhsewn + ar_klhsewn[i] ; } syn_mo= syn_diarkeia/syn_klhsewn; res.append ("Ο συνολικός μέσος όρος διάρκειας κλήσης είναι ").append(syn_mo).append(" δευτερόλεπτα"); } } catch (Exception e) {} } }
bnvdarklord Δημοσ. 28 Αυγούστου 2012 Δημοσ. 28 Αυγούστου 2012 Τι error σου βγάζει στα logs του server; Το αρχείο του driver υπάρχει; Εχεις βαλει τον connector της mysql στο IDE σου και στο φακελο του app server; Τα στοιχεία εισόδου στην βάση ειναι σωστά; Γενικά υπάρχει connectivity προς την βαση από τον υπολογιστή με το servlet;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα