+ Rispondi
Risultati da 1 a 6 di 6

Discussione: [SQL]Separare un valore di una colonna in due campi text

  1. #1
    Nuovo della community
    reputazione complessiva: 1 1

    Messaggi
    37

    [SQL]Separare un valore di una colonna in due campi text

    Salve a tutti, avrei un piccolo problemino di query...
    Ho una pagina jsp dove inserisco dei dati tramite dei textfield all'interno di un form...2 di questi campi vanno a finire in un'unica colonna del db, e questi campi sono "ore" e "minuti".Per far andare questi 2 campi all'interno di un'unica colonna anziche in due,nella query di inserimento faccio così.
    .......insert into.......
    stat.setString(5,problemaBean.getOre()+"ore"+probl emaBean.getMinuti()+"minuti");
    Quindi nella colonna "durata_problema" della tabella mi ritrovo per esempio 12ore22minuti.
    Da quanto scritto sopra si capisce che ovviamente ho un bean con tutti i relativi metodi set e get.
    Il mio problema sta nel richimarli tramite select negli appositi textfield,cioè ri-separare questi valori nei due text field,cioè "12" nel textfield ore e 22 nel textfield minuti. Qualcuno sa come si puo fare questa query.
    ps:quando faccio la query nella pagina jsp in genere faccio così
    1)<%..........
    ResultSet rs=stmt.executeQuery("SELECT * FROM ......");
    while(rs.next()){
    %>
    2)<input name="ore" type="text" value="<%=rs.getString(1)%>">
    Grazie anticipatamente

  2. #2
    Very Important Person L'avatar di sspintux
    reputazione complessiva: 28 28

    Messaggi
    920
    Blogs
    5
    Citazione Originariamente Scritto da domenico066 Visualizza Messaggio
    Salve a tutti
    Ciao,

    dipende da come componi ore e minuti e dal db che usi;

    in altre parole, se, per esempio, i minuti hanno sempre una
    lunhezza pari a 2 o li separi dalle ore con il ":" o altro carattere
    puoi farlo ,db permettendo, altrimenti la vedo dura.
    Ciao sspintux
    ------------------------------------------------------------
    Volevamo cambiare il mondo...peccato che abbiamo perso lo scontrino

  3. #3
    Nuovo della community
    reputazione complessiva: 1 1

    Messaggi
    37
    Innanzi tutto grazie per la risposta.Scusami se ho dimenticato di specificare il tipo di db che uso(mysql).Cmq non ho capito bene come posso fare a far separare i 2 valori.Per quanto riguarda l'inserimento (come ho scritto quando ho postato il mio problema) i 2 valori contenuti nel campo text "ORE" e "MINUTI" vengono inseriti entrambi nella colonna "DURATA_PROBLEMA" della tabella del db attraverso l'istruzione:
    **stat.setString(5,problemaBean.getOre()+"ore"+pro blemaBean.getMinuti()+"minuti");**
    quindi il valore all'interno della suddetta colonna nella quale inserisco questi valori saranno ad esempio " 11 ore 22 minuti ".Il fatto e che non so come ri-separare questo valore e riportarlo nei 2 campi text originari all'interno di una pagina (ad esempio "modifica.jsp"). Normalmento dopo aver fatto la query select, dentro il "value" del textfield metto <%=rs.getString(1)%> e mi ritorna il valore della prima colonna nel campo text ma se questo valore lo voglio dividere in due campi text(ad esempio 11 nel campo "ore" e 22 nel campo "minuti"), come posso fare?
    Grazie anticipatamente per la risposta

  4. #4
    Collega della community L'avatar di bumm
    reputazione complessiva: 27 27

    Messaggi
    850
    Segui il consiglio di sspintux dovresti fare split in base di qualcosa.
    inoltre dovevi fare questa domanda nella sezione java, visto che c'entra poco con database.
    in jsp dovresti fare qualcosa del genere....
    Codice:
    <% 
    //... altre istruzioni
    
          String time = res.getString(1);
          String hm[] = time.split("[;,.: _]");
          String h = hm[0];//minuti
          String m = hm[1];//secondi
    //... altre istruzioni
    %>
    e poi nei campi:

    nel "value" delle ore metti <%=h%>
    nel "value" dei minuti metti <%=m%>

    si potrebbe fare anche una function in MySql che lo fa, ma non ti complicare la vita.
    e poi se li usi sempre separati, tanto vale dividere il valore su due colonne
    Ultima modifica di bumm; 17-10-2009 alle 01:43
    Premi se vuoi commentare l'intervento.

    "HeloWorld.exe" 17 errors, 31 warnings.

  5. #5
    Very Important Person L'avatar di sspintux
    reputazione complessiva: 28 28

    Messaggi
    920
    Blogs
    5
    Citazione Originariamente Scritto da bumm Visualizza Messaggio
    ..........
    e poi se li usi sempre separati, tanto vale dividere il valore su due colonne
    giustissimo,
    si potrebbe usare anche un campo di tipo 'DateTime/Time' (non so come si chiama in mySql),

    inoltre memorizzare nel db anche le parole 'ore' e 'minuti'
    sembra uno spreco di spazio ingiustificato (anche se lo hai fatto per averlo già
    pronto in stampa o visualizzazione)
    Ultima modifica di sspintux; 17-10-2009 alle 09:44
    Ciao sspintux
    ------------------------------------------------------------
    Volevamo cambiare il mondo...peccato che abbiamo perso lo scontrino

  6. #6
    Nuovo della community
    reputazione complessiva: 1 1

    Messaggi
    37
    Funziona perfettamente.
    Grazie mille a entrambi.
    Cmq hai ragione sspintux, era inutile memorizzare anche le parole "ore" e "minuti".

+ Rispondi

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi