Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [Jsp] Secupero valori da un form tramite array

    Dunque!
    Ho un form con 14 campi riguardanti l'anagrafica di un individuo, quindi nome, cognome ecc.
    La pagina jsp contenente i campi passa i vlaori ad una servlet che crea la connessione al database e poi esegue l'insert.
    Il problema è che non vorrei fare 14

    String nomevariabile = request.getParameter("nomecampo");

    Pensavo di creare magari un'array o un oggetto enimeration, che contenesse i valori, e poi fare l'insert utilizzando quell'array.

    Come posso fare?

    Grazie per l'aiuto

  2. #2
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    413
    cos' facendo però non puoi controllare il contenuto dei campi prima di effettuare l'insert..

    comunque puoi semplicemente chiamare i campi come campo1 campo2 campo3

    e poi nella servlet fare un while( request.getParameter( "campo" + j ) != null ){

    ( qua ti assembli la query )

    j++;
    }

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da Maldito
    cos' facendo però non puoi controllare il contenuto dei campi prima di effettuare l'insert..

    comunque puoi semplicemente chiamare i campi come campo1 campo2 campo3

    e poi nella servlet fare un while( request.getParameter( "campo" + j ) != null ){

    ( qua ti assembli la query )

    j++;
    }
    Grazie maldito, sei sempre puntuale. Ma in che senso non posso controllare il contenuto dei campi? Secondo te in che modo potrei fare?

    Questo problema l'ho affrontato in php senza problemi, ma con java e jsp devo prendere un pò di dimestichezza.

    Grazie ancora

  4. #4
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    un'altra cosa. Con il cilco while da te proposto devo in pratica fare "14 insert" fino a che la condizione del ciclo non è falsa. Non è poco performante?

  5. #5
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    413
    nel senso che i campi della tabella sono tutte stringhe? o c'è qualche intero?
    perchè in tal caso devi saperlo prima, in quanto all'intero non devi mettere gli apicetti mentre alla stringa si.
    Poi non puoi vedere se magari ci sono date non valide o robba varia.

    io farei tutte le request separate, ma solo nel caso in cui sia necessario controllare i valori in inserimento oppure nel aso in cui non siano tutti campi stringa.

  6. #6
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    413
    Originariamente inviato da pgm
    un'altra cosa. Con il cilco while da te proposto devo in pratica fare "14 insert" fino a che la condizione del ciclo non è falsa. Non è poco performante?

    nono.. mica devi fare 14 insert!

    codice:
    while( request.getParameter( "campo" + j ) != null ){
    
    strigaQuery += request.getParameter( "campo" + j ) + "','";
    
    j++
    
    {
    casso.. ho urtato "invia Messaggio"..

    poi ovviamente all'uscita del ciclo devi rimuovere l'ultima virgola e l'ultimo apice..

    praticamente ti costruisci una insert del tipo "Insert into tabella VALUES( 'valore1','valore2','valore3',....'ultimo')"

  7. #7
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da Maldito



    nono.. mica devi fare 14 insert!

    codice:
    while( request.getParameter( "campo" + j ) != null ){
    
    strigaQuery += request.getParameter( "campo" + j ) + "','";
    
    j++
    
    {
    casso.. ho urtato "invia Messaggio"..

    poi ovviamente all'uscita del ciclo devi rimuovere l'ultima virgola e l'ultimo apice..

    praticamente ti costruisci una insert del tipo "Insert into tabella VALUES( 'valore1','valore2','valore3',....'ultimo')"
    grazie. a dire il vero l'avevo pensato così, ma naturalmente mi sono incasinato. Adesso provo e poi ti faccio sapere.

    grazie...sottoposto

  8. #8
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    maldito, oggi non so più programmare

    Sembra proprio che non entri nel ciclo:

    String sql = new String("insert into nometabella values ");
    int i = 1;
    while ( req.getParameter("campo" + i) != null ) {
    sql += req.getParameter("campo" + i) + "','" ;
    i++;
    }
    out.println(sql);

    Riesco a stampare solo "insert into nometabella values" senza i campi

    perchè?

  9. #9
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    413
    Originariamente inviato da pgm
    maldito, oggi non so più programmare

    Sembra proprio che non entri nel ciclo:

    String sql = new String("insert into nometabella values ");
    int i = 1;
    while ( req.getParameter("campo" + i) != null ) {
    sql += req.getParameter("campo" + i) + "','" ;
    i++;
    }
    out.println(sql);

    Riesco a stampare solo "insert into nometabella values" senza i campi

    perchè?

    li hai chiamati così i campi? ( domanda idiota ma può sfuggire.. )

    li hai riempiti? ( domanda peggio di quella prima.. )

    posta codice jsp e servlet che ci butto un occhio.

  10. #10
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    E' un pelo lungo. Meglio che mi dai l'email, non credi?:quipy:

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.