Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157

    serlet sql

    Salve, sono nei guai, ho riscontrato un prolema e sono 2 giorni che non riesco a risolvere.

    In pratica ho ftto una cartella clinica con jsp e quindi interfaccia html e devo memorizzare dei dati inviati ba combobox ceckbox e text in un database.
    Ho fatto tutte le query in una servlet e continua a darmi errore "illegal start of type".

    vi posto il programma:
    codice:
    import java.io.*;
    import java.net.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.http.HttpServlet;
    
    public class query_anamnesi extends HttpServlet { 
    
        private PrintWriter out;
        //private String title, s;
        private Statement s;
        private ResultSet lr;
        private Connection dbconn;
        private String query;
        private  Integer i, idpatologia,idanamnesi;
        private String idp;
        private   ResultSet r;
            public query_anamnesi (){
               // int i, idanamnesi, idpatologia;
                String query;
                s = null; 
                lr = null;
               // title = "Controllo LogIn";  
                s= null;
                dbconn=null;
            } 
              
               public void service (HttpServletRequest request, HttpServletResponse response, String fnv) throws ServletException, IOException {
                   
    
                    out = response.getWriter();
                    response.setContentType("text/html");
                    response.setHeader("Pragma", "no-cache"); 
    
                    out.println("<HTML><HEAD><TITLE>");
                   // out.println(title);
                    out.println("</TITLE></HEAD><BODY>");
                    //out.println("<H1>" + title + "</H1>");
                    out.println("
    
     Sto per connettermi al database...");
                    out.println("</BODY></HTML>");
                    //out.close();
              
                    
            
          
            try{
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
                dbconn = DriverManager.getConnection("jdbc:odbc:audiometria");
            }
            catch(Exception e){
            out.println("errore di connessione al database... Contattare l'amministratore di sistema!");
            }
           try {
                s = dbconn.createStatement();
            } catch (SQLException ex) {
                out.println(" non trovato:" + ex.getErrorCode());
            }
                    
            out.println(" ");
            out.println("Mi sono connesso");
            
            
            Date oggi = new Date();     
            SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
            query="Insert into Anamnesi(id_paziente,data_anamnesi) values("+request.getParameter("idp")+",#"+formatter.format(oggi)+"#)";
            s.executeUpdate(query);
            
            
            query="Select max(id_anamnesi) as max_id from Anamnesi";
            r=s.executeQuery(query);
            r.next();
            idanamnesi=Integer.valueOf(r.getObject("max_id").toString());
            r.close();
            System.out.println(idanamnesi);
              /*try {
               // out.println(query);
                lr = statement.executeQuery(query);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }*/
            }
            
            if(request.getParameter("parto")!=""){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Parto "+request.getParameter("parto")+"')";
                s.executeUpdate(query);          
            }
          /*  
            try {
               // out.println(query);
                lr = statement.executeQuery(query);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }*/
            if(request.getParameter("infettive")!=""){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Malattie infettive: "+request.getParameter("infettive")+"')";
                s.executeUpdate(query);
                query="Select max(id_patologia) as max_id from Patologia";
                r=s.executeQuery(query);
                r.next();
                idpatologia=Integer.valueOf(r.getString("max_id"));
                r.close();
               
                if(request.getParameter("eta")!=""){
                    query="Insert into Sottopatologia(id_patologia, nome) values("+idpatologia+",'età: "+request.getParameter("eta")+"')";
                    s.executeUpdate(query);
                }
                     
     if(request.getParameter("cons")!="false"){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Consanguineità presente')";
                s.executeUpdate(query);
            }
            
    
    if(request.getParameter("lue")!="false"){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'LUE presente')";
                s.executeUpdate(query);
            }
                           
             
        
            
           
          
           
                    
        out.close();
               
               }
    
    }
    mi da lo stesso errore su ogni if.
    le prime due sono combobox e le restanti ceckbox
    Per cortesia aiutatemi!!!
    vi allego anche il fil jsp per vedere l'interfaccia html semmai interessa.
    Tutto ciò che non mi uccide mi rende più forte!

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    ma non dici dove sta l'errore
    non ci si capisce molto
    comunque
    request.getParameter(nome)!=""
    le stringhe si confrontano con equals

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Ti invito a leggere il regolamento per conoscere le norme di partecipazione all'area (titoli e discussioni).
    Il codice va postato all'interno dei tag [ CODE ] (che vengono visualizzati premendo il pulsante [#] quando scrivi i messaggi).

    Attenzione alle grassettature e finiture varie del testo.

    Ho sistemato alla meno peggio io il tuo post.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157

    servlet sql

    Salve... innanzi tutto volevo ringraziera le persone che mi hanno risposto...

    poi vorrei spiegare meglio il mio problema perchè effettivamente ho scritto un pochino di fretta.

    In pratica ho fatto una cartella clinica con jsp e quindi interfaccia html. Adesso devo memorizzare dei dati inviati ba combobox ceckbox e text in un database.

    Ho fatto tutte le query in una servlet e continua a darmi errore "illegal start of type" in questo punto: if(request.getParameter("parto")!=""){
    e in ogni altro punto dove vado a richiamare le combobox e le ceckbox Html.

    Vi posto un esempio di codice html che ho fatto con le tre possibilità.


    codice:
    Il tipo di parto è stato:  &nbsp   <select name="parto" >
                    <option>
                    <option type="text" name="eutocico" >eutocico  </option>
                    <option type="text" name="distocico">distocico </option>
                    </select>
                   
                    Malattie infettive &nbsp &nbsp &nbsp &nbsp <select name="malat_infet" >
                    <option name = "a">
                    <option > esantomi 
                    <option > parotite  
              
                        </select>&nbsp
    
                   Eta &nbsp <input type="text" name="eta" size="3">
                   
                   Consanguineità <input type="checkbox" name="cons" value="OFF" />
    Allora io ho queste combo, ceck e text(fatta con una jsp); adesso da una servlet voglio andarmi a prendere il valore scelto (null, eutogico, distogico; il valore del campo text e quello della ceck) e andarlo a mettere in un database...
    il codice della servlet è:

    codice:
    
    import java.io.*;
    import java.net.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.http.HttpServlet;
    
    public class query_anamnesi extends HttpServlet { 
    
        private PrintWriter out;
        //private String title, s;
        private Statement s;
        private ResultSet lr;
        private Connection dbconn;
        private String query;
        private  Integer i, idpatologia,idanamnesi;
        private String idp;
        private   ResultSet r;
            public query_anamnesi (){
              
                String query;
                s = null; 
                lr = null;
                s= null;
                dbconn=null;
            } 
              
               public void service (HttpServletRequest request, HttpServletResponse response, String fnv) throws ServletException, IOException {
                   
    
                    out = response.getWriter();
                    response.setContentType("text/html");
                    response.setHeader("Pragma", "no-cache"); 
    
                              
                    
            
          
            try{
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
                dbconn = DriverManager.getConnection("jdbc:odbc:audiometria");
            }
            catch(Exception e){
            out.println("errore di connessione al database... Contattare l'amministratore di sistema!");
            }
           try {
                s = dbconn.createStatement();
            } catch (SQLException ex) {
                out.println(" non trovato:" + ex.getErrorCode());
            }
                    
            out.println(" ");
            out.println("Mi sono connesso");
            
            
            Date oggi = new Date();     
            SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
            query="Insert into Anamnesi(id_paziente,data_anamnesi) values("+request.getParameter("idp")+",#"+formatter.format(oggi)+"#)";
            s.executeUpdate(query);
            
            
            query="Select max(id_anamnesi) as max_id from Anamnesi";
            r=s.executeQuery(query);
            r.next();
            idanamnesi=Integer.valueOf(r.getObject("max_id").toString());
            r.close();
            System.out.println(idanamnesi);
              /*try {
               // out.println(query);
                lr = statement.executeQuery(query);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }*/
            }
            
            if(request.getParameter("parto")!=""){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Parto "+request.getParameter("parto")+"')";
                s.executeUpdate(query);          
            }
          /*  
            try {
               // out.println(query);
                lr = statement.executeQuery(query);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }*/
            if(request.getParameter("infettive")!=""){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Malattie   infettive: "+request.getParameter("infettive")+"')";
                s.executeUpdate(query);
                query="Select max(id_patologia) as max_id from Patologia";
                r=s.executeQuery(query);
                r.next();
                idpatologia=Integer.valueOf(r.getString("max_id"));
                r.close();
               
                if(request.getParameter("eta")!=""){
                    query="Insert into Sottopatologia(id_patologia, nome) values("+idpatologia+",'età: "+request.getParameter("eta")+"')";
                    s.executeUpdate(query);
                }
                     
     if(request.getParameter("cons")!="false"){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Consanguineità presente')";
                s.executeUpdate(query);
            }
            
    
    if(request.getParameter("lue")!="false"){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'LUE presente')";
                s.executeUpdate(query);
            }
                           
             
        
            
           
          
           
                    
        out.close();
               
               }
    
    }

    ma come ho detto prima mi da errore "illegal start of type"...
    come posso fare per far funzionare il tutto.. sto impazzendo!!!

    Potreste aiutarmi per cortesia?
    Vi ringrazio anticipatamente...
    Tutto ciò che non mi uccide mi rende più forte!

  5. #5
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    a me sembra che ci sia una } di troppo prima dell'if

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157
    forse... forse è la pèarentesi o è anche quella sicuramente; ma l'rrore rimane... la procedura va bene? Il getParameter(" ") va bene come è stato usato?

    :master:
    Tutto ciò che non mi uccide mi rende più forte!

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    Originariamente inviato da floyd
    le stringhe si confrontano con equals
    http://java.sun.com/javase/6/docs/ap...a.lang.Object)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.