MasterDrive.it   
Vai indietro   MasterDrive.it > Generale > Database



Rispondi
 
Strumenti della discussione Modalità di visualizzazione
Vecchio 15-10-2009, 17:47   #1 (permalink)
Nuovo della community

 
37 Messaggi

domenico066 novizio della comunita' ( + 10 )
[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

domenico066 non è in linea   Bookmark and Share Rispondi quotando
Vecchio 16-10-2009, 10:44   #2 (permalink)
Very Important Person

 L'avatar di sspintux

 
854 Messaggi

sspintux e' una persona affidabile ( + 250 )sspintux e' una persona affidabile ( + 250 )sspintux e' una persona affidabile ( + 250 )
Quote:
Originariamente inviata da domenico066 Visualizza il 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
sspintux non è in linea   Bookmark and Share Rispondi quotando
Vecchio 17-10-2009, 00:55   #3 (permalink)
Nuovo della community

 
37 Messaggi

domenico066 novizio della comunita' ( + 10 )
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
domenico066 non è in linea   Bookmark and Share Rispondi quotando
Vecchio 17-10-2009, 01:37   #4 (permalink)
Collega della community

 L'avatar di bumm

 
723 Messaggi

bumm con una reputazione sempre in crescita ( + 150 )bumm con una reputazione sempre in crescita ( + 150 )bumm con una reputazione sempre in crescita ( + 150 )
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
__________________
Se la risposta ti e stata utile


"HeloWorld.exe" 17 errors, 31 warnings.

Ultima modifica di bumm : 17-10-2009 a 01:43.
bumm non è in linea   Bookmark and Share Rispondi quotando
Vecchio 17-10-2009, 09:25   #5 (permalink)
Very Important Person

 L'avatar di sspintux

 
854 Messaggi

sspintux e' una persona affidabile ( + 250 )sspintux e' una persona affidabile ( + 250 )sspintux e' una persona affidabile ( + 250 )
Quote:
Originariamente inviata da bumm Visualizza il 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)
__________________
Ciao sspintux
------------------------------------------------------------
Volevamo cambiare il mondo...peccato che abbiamo perso lo scontrino

Ultima modifica di sspintux : 17-10-2009 a 09:44.
sspintux non è in linea   Bookmark and Share Rispondi quotando
Vecchio 17-10-2009, 12:13   #6 (permalink)
Nuovo della community

 
37 Messaggi

domenico066 novizio della comunita' ( + 10 )
Funziona perfettamente.
Grazie mille a entrambi.
Cmq hai ragione sspintux, era inutile memorizzare anche le parole "ore" e "minuti".
domenico066 non è in linea   Bookmark and Share Rispondi quotando
Rispondi

Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilies sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are disattivato

Salto del forum


Tutti gli orari sono GMT +1. Attualmente sono le 04:36.


Powered by vBulletin versione 3.8.0
Copyright © 2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0

Valid XHTML 1.0 Transitional  Creative Commons License

Eccetto dove diversamente specificato, i contenuti pubblicati in questa comunità sono rilasciati sotto Licenza
Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia License.
La comunita' di MasterDrive.it non e' responsabile di eventuali imprecisioni presenti nelle pagine.