Pagina 2 di 7 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 64

Discussione: programma java

  1. #11
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    renditi conto che sono due query di tipo differente:
    una è una INSERT, significa che tu inserisci degli elementi all'interno del database (a cui devi far seguire un commit se nel database non c'è un autocommit).
    Se non ricordo male, insert restituisce il numero di record inseriti (come segnale che tutto è andato bene), ma qui vado a memoria (le API oracle sono comunque disponibili).

    Se fai la SELECT invece hai un intero RESULT SET, cioè un set di risultati con le tue richieste.
    Questa non ha bisogno di commit e rollback, non modifica il db, solo lo interroga.

    Ora fare una select e una insert del risultato dovresti poterlo fare, il contrario non so finchè abbia senso.
    Personalmente queste sono operazioni che farei divise perché logicamente sono due cose distinte e amo separare le cose per logica e per evitare errori e avere una maggiore tracciabilità dei risultati.

  2. #12
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    ciao, quindi tu come le metteresti all'interno del codice?

  3. #13
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    non chiedermi come le metterei, il web è pieno di esempi.
    Al max fai tu un esempio e posta il codice se non funziona.
    Il forum è supporto a livello di logica e/o se hai errori, non siamo pusher di codice (e onestamente non abbiamo tutti il tempo di scrivere e testare codice per altri)

  4. #14
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    valia ho visto moltissimi esempi con

    INSERT INTO MIA_TABELLA1 (CAMPO1, CAMPO2) SELECT CAMPO1, CAMPO2
    FROM MIA_TABELLA2
    WHERE CONDIZIONE1=1 AND CONDIZIONE2=2 ecc ec.... vorrei adesso soltanto capire dopo che io selezioni i campi dalla prima tabella e con un select li estraggo fuori, come faccio a copiarli all'interno della nuova tabella??

  5. #15
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    e ridaglie

    cosa vogliono dire le istruzioni che fai? o secondo te cosa vuole dire

    codice:
    INSERT INTO MIA_TABELLA1 (CAMPO1, CAMPO2) SELECT CAMPO1, CAMPO2 
    FROM MIA_TABELLA2
    WHERE CONDIZIONE1=1 AND CONDIZIONE2=2
    inizia a capire cosa fa questa istruzione, poi vediamo altro.

    Sai come funziona la INSERT?

    INSERT INTO nomeTabella (elenco campi) VALUES elenco valori

    questo è in generale quello che fai con la INSERT.

    La SELECT invece

    SELECT (elencocampi) FROM nomeTabella WHERE condizioni

    per cui con la select selezioni i valori, con la insert li butti nella nuova tabella.

    Ora lo fanno in un passo solo, io lo farei in 2 (aggiungendo un overhead) che mi consente (se necessario) di tenere conto dei risultati delle query.

    Di esempi te ne ha forniti due desa, prova a cambiare le cose generiche con le tue.
    Se non capisci la logica o come scrivere un programma non è chiedendo a me che so farlo che risolvi il tuo problema

  6. #16
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    no ma infatti a me nn interessa risolverlo, senza capirci un tubo...vorrei capire il ragionamento....provo a eseguirli separati...

  7. #17
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    pensavo allora di fare una cosa del genere...

    string query= Insert into tabella 2 ( i campi )
    statement s= con.createstatement();
    resultset rs=s.executequery(query);
    while (rs.next()){
    system.out.println ( rs.getstring(1));
    .......
    ......
    ......}
    in questo modo dovrebbe andarmi a inserire i campi nella tabella nuova....giusto?? pero' conviene prima fare un operazione di selezione nella tabella 1 giusto?

  8. #18
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    usa i tag code per il codice

    la logica è quella, ma attento, PRIMA devi selezionare i campi che devi mettere nella tabella destinazione e POI inserirli.
    La query iniziale fa tutto in un passo (e va bene), ma se non ti inserisce niente non sai se è andata male la select oppure la insert, per questo, almeno in fase di sviluppo, è meglio aggiungere questo overhead, almeno tieni conto degli errori
    A codice finito l'overhead non è necessario e puoi fare tutto in un passo.
    Ricordati che devi fare commit (a meno che non hai aperto la connessione con autocommit)

  9. #19
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    string query1=select (campi ) from tabella 1

    string query2= Insert into tabella 2 ( i campi )
    statement s= con.createstatement();
    resultset rs=s.executequery(query);
    while (rs.next()){
    system.out.println ( rs.getstring(1));
    .......
    ......
    ......}

    posso richiamarmi le 2 query, con il resultset?? scusa la mia ignoranza in java, ma come ho detto all'inizio sono alle prime armi

  10. #20
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    /Esempio di SELECT
    SQL = "SELECT * FROM locazioni;";
    SQLPreparedStatement = con.prepareStatement(SQL);

    /*le righe corrispondenti alla SELECT vengono memorizzate in rsQuery
    * reQuery è un resultSet.
    */
    rsQuery = SQLPreparedStatement.executeQuery();

    //Ciclo e assegnazione delle righe del resultSet
    while (rsQuery.next()) {
    String loc = rsQuery.getString("codice_locazione");
    String set = rsQuery.getString("settore");
    int scaf = rsQuery.getInt("numero_scaffale");
    int num = rsQuery.getInt("numero_ripiano");

    System.out.println(loc + "\t" + set + "\t" + scaf + "\t" + num);
    }
    questo esempio puo' aiutarmi??

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 © 2026 vBulletin Solutions, Inc. All rights reserved.