Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Inserimento query

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    260

    Inserimento query

    Salve ragazzi,

    Allora il mio problema e il seguente:


    Ho eseguito una query del tipo

    codice:
    SELECT * FROM Nometabella
    ;

    tutto ok mi parte la finestra con i risultati della tabella.

    Ma quando faccio una insert


    codice:
    public  void inserimento_utente(String Nometabella,String codice,String nome,String cognome,String  email)      
    
    {
    
        
            int conta=0;
        
            Connection conn = null;
            Statement stmt = null;
        
       
          
      
          try{
           //STEP 2: Register JDBC driver
           Class.forName("com.mysql.jdbc.Driver");
    
           //STEP 3: Open a connection
           System.out.println("Connecting to database...");
           conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root","");
    
           //STEP 4: Execute a query
           System.out.println("Creating database...");
           stmt = conn.createStatement();
          
    
    
    
    
          String sql = "USE UTENTE;";
                
          stmt.executeUpdate(sql);
        
          
          
          String sql3="INSERT INTO ";
          
          String sql4=sql3.concat(Nometabella);
          
          String sql4fin=sql4.concat("VALUES ");
          
          String con=" ('";
          
          String con2="',";
          
          String con3="'";
          
          String con4="'";
          
          String fin=");";
          
          conta++;
          
              
          
               
                
          
    
      String totale = sql3.concat(Nometabella).concat(" VALUES").concat(con).concat(codice).concat(con2).concat(con3).concat(nome).concat("," ).concat("'").concat(cognome).concat("'").concat(",").concat("'").concat(email).concat("'").concat(");");
    
      
      
      JOptionPane.showMessageDialog(null,totale);
         
    
       stmt.executeUpdate(totale);
          
          
          
         System.out.println("Database created successfully...");
       }catch(SQLException se){
          //Handle errors for JDBC
          se.printStackTrace();
       }catch(Exception e){
          //Handle errors for Class.forName
          e.printStackTrace();
       }finally{
          //finally block used to close resources
          try{
             if(stmt!=null)
                stmt.close();
          }catch(SQLException se2){
          }// nothing we can do
          try{
             if(conn!=null)
                conn.close();
          }catch(SQLException se){
             se.printStackTrace();
          }//end finally try
       }//end try
       System.out.println("Goodbye!");  
        
       
       
            
        }

    Mi dice errore? come mai?

    eppure in un altro progetto mi funziona però con JFrame inserito graficamente e non via codice
    Ultima modifica di LeleFT; 27-05-2014 a 18:17

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    OMG

    Non puoi crearti la query in maniera diversa, magari usando PreparedStatement?
    Così è illeggibile....

    Sarebbe utile sapere CHE errore ti dà...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da signfra Visualizza il messaggio
    codice:
          String sql3="INSERT INTO ";
          
          String sql4=sql3.concat(Nometabella);
          
          String sql4fin=sql4.concat("VALUES ");
          
          String con=" ('";
          
          String con2="',";
          
          String con3="'";
          
          String con4="'";
          
          String fin=");";
          
          conta++;
          
      String totale = sql3.concat(Nometabella).concat(" VALUES").concat(con).concat(codice).concat(con2).concat(con3).concat(nome).concat("," ).concat("'").concat(cognome).concat("'").concat(",").concat("'").concat(email).concat("'").concat(");");
    Concordo (con Alex'87) che una cosa del genere non è affatto gestibile e "mantenibile".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    260
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Concordo (con Alex'87) che una cosa del genere non è affatto gestibile e "mantenibile".
    allora per formare una query come si utilizza preparedstatement perché tutte quelle concatenazioni non mi piacciono

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da signfra Visualizza il messaggio
    allora per formare una query come si utilizza preparedstatement perché tutte quelle concatenazioni non mi piacciono
    Basta che guardi il javadoc e/o il tutorial Using Prepared Statements.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    260
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Basta che guardi il javadoc e/o il tutorial Using Prepared Statements.
    codice:
      String update="update"+Nometabella+"SET Nome=?,Cognome=?";
    
      
          try{
              
           //porzione di codice necessaria per la creazione del database OK
          
    
    
    
    
    
    
          String sql = "USE NOMEDATABASE;";
                
          stmt.executeUpdate(sql);
          
          insert = conn.prepareStatement(update);
          
              
           insert.setString(1, Nome);
           insert.setString(2, Cognome);
         
    
           insert.executeUpdate();

    E come non riesco a passare i parametri a posto di =; Evidentemente Nome e Cognome li ho passati dal metodo.Dove ho sbagliato?
    Ultima modifica di signfra; 28-05-2014 a 23:17

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    ???

    Guarda comunque che nella costruzione della query non hai messo gli spazi prima e dopo il nome della tabella...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    260
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    ???

    Guarda comunque che nella costruzione della query non hai messo gli spazi prima e dopo il nome della tabella...
    Non funziona lo stesso

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    C'è un messaggio di errore? Uno stack trace?

    Puoi fornire un po' di contesto o tiriamo ad indovinare?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Non funziona lo stesso
    Intanto, per dirne una, non hai messo una condizione di WHERE nella update .... quindi quali record aggiorna? (dovrebbe, in teoria: tutti).

    Poi comunque "Non funziona" che vuol dire? non aggiorna nulla? Dà eccezione? Altro?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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 © 2024 vBulletin Solutions, Inc. All rights reserved.