Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515

    copiare un recordset....

    ciao a tutti...ho un JComoBox dove seleziono una colonna...

    poi ho una JList dove faccio apparire i recordSet....

    ad asempio:

    nell JComboBox ho: anni 50, anni 60, etc.....con le relative canzoni...

    poi in una JList faccio uscire tutte le canzoni.....fino quì tutto ok!!!

    se ad esempio creo una nuona lista: esempio "serata"

    invece di creare tutto di nuovo una lista di canzoni....vorrei copiare dalla jlist le canzoni che vorrei inserire nella lista "serata"

    spero di essere stato chiaro.....

    cmq questo è il cod:

    codice:
    try {
    conn = DriverManager.getConnection("jdbc:mysql://localhost/basi?user=root&password=1234");						
    String s1 = (String) comboEdit.getSelectedItem();
    pstmt = (PreparedStatement) conn.prepareStatement ("INSERT into datasong (id, nome, base, testo, lista) SELECT * FROM datasong WHERE lista = ?");
    pstmt.setString(1, s1);
    							
    pstmt.executeUpdate(); 
    																	
    							
    					
    pstmt.close();
    conn.close();
    
    }
    				
    catch (Exception exc) {
    System.out.println("Errore: "+ exc.getMessage());
    }
    non mi da nessun errore ma non mi copia neanche i recorset da me selezionati!!!!

  2. #2
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    con varie guide l'ho modificato in questo modo:

    codice:
    String s1 = (String) comboEdit.getSelectedItem();
    pstmt = (PreparedStatement) conn.prepareStatement ("INSERT into datasong(nome, base, testo, lista) SELECT nome, base, testo, lista FROM datasong WHERE lista = ?");
    pstmt.setString(1, s1);
    ma non mi copia niente!!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    Fossi in te non mi avventurerei nelle query innestate se, visto il codice postato, non conosci neanche la sintassi di una INSERT. Ti consiglio di:

    1. rivedere la sintassi degli statement SQL
    2. rivedere la sintassi Java dei PreparedStatement (perché quel cast???)
    3. controllare che il DBMS che stai utilizzando supporti le query innestate
    4. rivedere la sintassi delle query innestate

    Scusa le pedanteria (ma ovviamente lo si dice per te), ma se non conosci bene gli strumenti che usi ogni volta che compili è una lotteria.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ma aggiungo l'organizzazione del database, perché in una tabella (che dovrebbe rappresentare una playlist, qualcosa cmq in relazione con altre tabelle) non metterei mai una voce per nome, bensì mi terrei le chiavi primarie (e solo quelle) usando join per recuperare all'occorrenza dati.

    Poi è sempre meglio fare query separate, serve anche a capire meglio cosa si scrive (e a debuggare) tenuto conto che quella SELECT può non ritornare un solo elemento
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    allora...per quanto riguarda l'insert il select e il delete etc.....penso di aver capito molto bene...

    ho solo fatto delle ricerche ad internet per vedere se si può copiare dei recordset oppure no....

    la sintassi dell'insert è un codice preso da varie guide dove spiegano che è possibile copiare recordset......

    è ovvio che quello che scrivo sembra di non capire niente!!!!

    io scrivo quì solo cose che non capisco...non cose fatte bene!!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa perché perdere tempo in un continuo terno al lotto (è quasi un mese che ti diciamo sempre le stesse cose) usando guide ( utili per chi già sa e deve passare rapidamente da un linguaggio ad un altro ) ma non avendo solide basi?

    Hai chiaro cosa voglia dire quell'istruzione che hai composto?
    Logicamente potrebbe avere senso, praticamente, pur essendo leggermente più esperta di te (non sono certo un genio) non farei mai quelle istruzioni in un unico step.

    Analogamente parlerei (tra tabelle) solo per chiavi primarie, tralasciando altri campi che possono creare ridondanza e problemi (pensa solo se due canzoni hanno lo stesso nome ma autori differenti o sono due versioni dello stesso autore).
    RTFM Read That F*** Manual!!!

  7. #7
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    voglio evitare di creare tantissime tabelle!!!!!!

    poi è ovvio che quando faccio il select delle canzoni vado ad eliminare i duppicati!!!!

    il mio insert canzone per canzone lo eseguo così:

    codice:
    String query = "INSERT into datasong (nome, base, testo, lista) values(?, ?, ?, ?)";
    pstmt = (PreparedStatement) conn.prepareStatement(query); 
    pstmt.setString(1, s1); 
    pstmt.setString(2, s2);
    pstmt.setString(3, s3);
    pstmt.setString(4, s4);
    pstmt.executeUpdate();
    il "pstmt.setString(1, s1);" etc... li prendo dalle stringhe scritta nella JTextField....

    fin quì!!! tutto ok!!!

    quello che non riesco a capire è,come faccio a copiare tutti con una semplice selezione alla JList???

  8. #8
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    se lo dovessi fare direttamente in mysql è molto semplice!!!!!!

    ma il problema è nell'eseguirlo con una semplice selezione alla JList....

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Forse non hai la più pallida idea di che significhi gestire un DB...

    Che vuoi fare con queste JList? Vuoi fare in modo che selezionando in una una canzone, si copi nell'altra?

  10. #10
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    quello che voglio evitare è di creare tantissime table!!!!!!

    io ho solo 2 table....collegate tra di loro!!!!!

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