Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JSP] problemi ad aggiungere dati ad un DB.

    Ciao raga io ho questo problema:
    ho un Db (oracle) in cui ho alcune tabelle e devo creare una pagina JSP che prende i valori imessi dall'utente e li trasferisce nel DB.
    Ora ilò collegaento JDBC funiona bene perchè riesco a far comparire i dati presenti nella tabella e riesco anche a loggarmi in un'altra.... Ora il problea è che una volta che inserisco i dati e li aggiunge solo temporaneamente alla tabella e come chiudo l'applicazione i dati aggiunti vengono cancellati (o eglio + probabilente non vengono proprio eorizzati sul DB a solo nella pagina JSP). La mia pagina è questa:

    [pagina JSP Inseriento_Bolla.jsp
    <%@ page contentType="text/html;charset=WINDOWS-1252"%>
    <%@ page language = "java" errorPage="errorpage.jsp" import = "java.util.*, oracle.jbo.*, javax.naming.*, javax.sevlet.*, oracle.jbo.common.appmgr.*, oracle.jbo.html.databeans.*" %>

    <html>
    <body>

    <center><h2>Nuova bolla.</h2></center>

    Cancel Insert Form



    <jsp:useBean id="RowEditor" class="oracle.jbo.html.databeans.EditCurrentRecord " scope="request">
    <%
    RowEditor.initialize(application, session , request, response, out, "package1_Package1Module.RmBolla2View");

    RowEditor.setUseRoundedCorners(true);

    RowEditor.setTargetUrl("SubmitFormInserimento_Boll a.jsp");

    RowEditor.setDisplayAttributes("IdbollaS,DatoraT,I paddrT,IddittaT,IdconfT,DatadispT,IdimgbolT,Datain gT,RifprotT,IdpesaT");

    RowEditor.createNewRow();


    RowEditor.getFieldRenderer("IdbollaS").setDisplayW idth(30);
    RowEditor.getFieldRenderer("IdbollaS").setPromptTe xt("Progressivo");

    RowEditor.getFieldRenderer("DatoraT").setDisplayWi dth(30);
    RowEditor.getFieldRenderer("DatoraT").setPromptTex t("Data e ora bolla");

    RowEditor.getFieldRenderer("IpaddrT").setDisplayWi dth(30);
    RowEditor.getFieldRenderer("IpaddrT").setPromptTex t("Indirizzo IP");

    RowEditor.getFieldRenderer("IddittaT").setDisplayW idth(30);
    RowEditor.getFieldRenderer("IddittaT").setPromptTe xt("Id destinatario");

    RowEditor.getFieldRenderer("IdconfT").setDisplayWi dth(30);
    RowEditor.getFieldRenderer("IdconfT").setPromptTex t("IdconfT");

    RowEditor.getFieldRenderer("DatadispT").setDisplay Width(30);
    RowEditor.getFieldRenderer("DatadispT").setPromptT ext("Data e ora disponibilità");

    RowEditor.getFieldRenderer("IdimgbolT").setDisplay Width(30);
    RowEditor.getFieldRenderer("IdimgbolT").setPromptT ext("Id immagine bolla");

    RowEditor.getFieldRenderer("DataingT").setDisplayW idth(30);
    RowEditor.getFieldRenderer("DataingT").setPromptTe xt("Data e ora ingresso");

    RowEditor.getFieldRenderer("RifprotT").setDisplayW idth(30);
    RowEditor.getFieldRenderer("RifprotT").setPromptTe xt("Rferimento a protocolo n°");

    RowEditor.getFieldRenderer("IdpesaT").setDisplayWi dth(30);
    RowEditor.getFieldRenderer("IdpesaT").setPromptTex t("IdpesaT");


    RowEditor.setReleaseApplicationResources(true);
    RowEditor.render();

    %>
    </jsp:useBean>

    </body>
    </html>
    [/pagina JSP Inseriento_Bolla.jsp]


    La seconda pagina (quella a cui fa riferimento è questa:

    [Pagina JSP SubmitFormInserimento_Bolla.jsp]

    <%@ page contentType="text/html;charset=WINDOWS-1252"%>
    <%@ page language = "java" errorPage="errorpage.jsp" import = "java.util.*, oracle.jbo.*, javax.naming.*, javax.sevlet.*, oracle.jbo.common.appmgr.*, oracle.jbo.html.databeans.*" %>

    <jsp:useBean id="RowEditor" class="oracle.jbo.html.databeans.EditCurrentRecord " scope="request">
    <%
    RowEditor.initialize(pageContext, "package1_Package1Module.RmBolla2View");
    RowEditor.execute();
    %>
    </jsp:useBean>

    <html>
    <body>

    <center><h2>Inseriento dati nuova bolla.</h2></center>




    <%
    Row row = RowEditor.getRowSet().getCurrentRow();
    %>

    </body>
    </html>
    [/Pagina JSP SubmitFormInserimento_Bolla.jsp]

    Lo so che la classe che uso nn è standard però spero che counque mi possiate aiutare!

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    devi committare alla fine

  3. #3
    E come?????????

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    Connection c = DriverManager.getConnection(...);
    dopo aver inserito record
    c.commit();

  5. #5
    Originariamente inviato da floyd
    Connection c = DriverManager.getConnection(...);
    dopo aver inserito record
    c.commit();
    mmmmmm purtroppo c'è un probema Floyd, non ho usato quel comando per collegarmi al DB a un wizard dell'IDE (il JDeveloper 3.2.3).... Comunque forse ho risoto.... ho trovato questa funzione, che penso sia qualcosa di simile al c.commit:
    handleCommit (la documentazione riporta questa descrizione: "handleCommit

    public void handleCommit()
    throws java.lang.Exception

    Handles commit logic properly reagrdles of stateful/stateless runtime mode. Call this function after you make any data changes."


    Che ne pensi? io l'ho provata ma probabilmente non l'ho messa nel punto giusto, l'ho messa tra:
    [Codice JSP]
    RowEditor.getFieldRenderer("IdpesaT").setDisplayWi dth(30);
    RowEditor.getFieldRenderer("IdpesaT").setPromptTex t("IdpesaT");
    [/Codice JSP]
    e
    [Codice JSP]
    RowEditor.setReleaseApplicationResources(true);
    RowEditor.render();
    [Codice JSP]
    scrivendo semplicemente RowEditor.handleCommit();

    però quando gli do il comando di salvare le modifiche mi dice:
    JBO Error:JBO-26018: Cannot insert a new row with no attribute set in entity RmBolla
    ....
    Ho provato anche a metterlo nella seconda pagina (quella che sempliceente dovrebbe visuaizzare i dati immessi ma è andata ancora peggio perchè non me li fa proprio inserire....
    Non so + che fare.... grazie dell'aiuto che mi stai dando e spero che tu mi sappia aiutare quest'ultima volta (ultima per questa pagina che sto creando non per sempre )!!!!

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    ho sempre scritto tutto a mano, senza api degli ide
    io proverei a collegarmi al database con le classi standard di Java

  7. #7
    Originariamente inviato da floyd
    ho sempre scritto tutto a mano, senza api degli ide
    io proverei a collegarmi al database con le classi standard di Java
    Lo immaginavo..... purtroppo non è molto che sto studiando il JAVA e quindi non ho grande pratica del linguaggio puro......
    Comunque grazie ancora

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.