Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    126

    [jsp]Formattare testo stringa

    salve a tutti,
    sapete come e dove posso trovare una libreria che mi formatti correttamente il testo che ricevo da una textarea in modo da evitare il problema degli '(apici) " etc che dicono al compilatore che la stringa è finita creando errori nel salvataggio del testo?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    Strano, non dovresti incontrare nessun problema... esattamente quando ti si presentano i problemi di cui parli? Al momento dell'acqusizione del contenuto della textArea o al momento del salvataggio dei dati su db?

  3. #3
    caro Nether... credo abbia problemi nel momento che esegue la query su db....

    evidentemente non usi i driver jdbc nel modo appropriato...

    come costruisci la query da passare al db?
    www.gext.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    126
    Come dice bene tarini,
    al momento dell'esecuzione della query sql.
    La situazione è questa.
    è stata creata una pagina in cui l'utente inserisce i dati in cui vi è anche una text area per i commenti supponiamo che inserisco la seguente frase: L'utente pippo... Quando premo submit passo i parametri dei vai campi in un'altra pagina jsp che preleva e salva i dati nel db
    in questo caso genera l'errore perchè prende solo la "L" come sctitta e non riconosce "utente pippo...". I dati li ricava tramite
    codice:
    request.getParameter("descr_prob")
    Grazie

  5. #5
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    il modo con cui prelevi i dati e' corretto, credo che tu in seguito passi al database una query la cui stringa e' costruita "a mano"... ossia non usi il metodo setString() della classe jdbc per settare i parametri che devono essere considerati come stringhe. Sempre ovviamente che tu stia utilizzando jdbc...

    Dovresti provare a riportare qui il codice che usi al momento del salvataggio dei dati su db, per formare la query di insert (o update)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    126
    Ti riporto solo il codice di connessione e gestione del db

    codice:
    //carica il file di classe del driver
    Class.forName("org.gjt.mm.mysql.Driver");
    
    Connection conn =null;
    conn = DriverManager.getConnection("jdbc:mysql://localhost/Agen");
    Statement st = conn.createStatement();
    
    salvaChiamata=st.executeUpdate("update t_interventi set inte_Id_TipoIntervento='"+ request.getParameter("tp_intervento") + "', inte_Descrizione='"+ request.getParameter("descr_prob")  + "',inte_Data_fine='"+ DataFine + "',inte_Ora_fine='"+ OraFine + " where inte_Id='"+ request.getParameter("successivo") + "';");

  7. #7
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    codice:
    //carica il file di classe del driver
    Class.forName("org.gjt.mm.mysql.Driver");
    
    Connection conn =null;
    conn = DriverManager.getConnection("jdbc:mysql://localhost/Agen");
    
    String stringaSQL = "update t_interventi set inte_Id_TipoIntervento=?, inte_Descrizione=?, inte_Data_fine=?, inte_Ora_fine=? where inte_Id=?";
    PreparedStatement ps = conn.prepareStatement(stringaSQL);
    ps.setString(1, request.getParameter("tp_intervento"));
    ps.setString(2, request.getParameter("descr_prob"));
    ps.setTimestamp(3, DataFine); //se DataFine e' un Timestamp
    ps.setTimestamp(4, OraFine); //se OraFine e' un Timestamp
    ps.setInt(5, Integer.parseInt(request.getParameter("successivo"))); //se l'inte_Id e' un numero intero
    ps.executeUpdate();

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    126
    grazie, mi da però il seguente errore:
    codice:
    symbol  : method setTimestamp (int,java.lang.String)
    location: interface java.sql.PreparedStatement
    	          ps.setTimestamp(3, DataFine); //se DataFine e' un Timestamp
                              ^
    Avevo però importato precedentemente
    import="java.sql.*"

    Mi puoi spiegare per cortesia come opera e dove posso trovare la documentazione di PreparedStatement?
    Grazie mille

  9. #9

  10. #10
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    l'errore te lo da' perche' il tuo oggetto "DataFine" e' una String e non un Timestamp.
    Quindi devi prima convertirlo oppure usare il metodo setString(). Dipende da come hai definito il valore della colonna nel db.

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.