Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [JAVA]- Istruzione SQL

  1. #1

    [JAVA]- Istruzione SQL

    Ragazzi ho un problema con questa query:
    //Query

    ResultSet rset = stmt.executeQuery (" select Id_Tipo_Locale from Tlocale where Tipo_Locale='Laboratorio' ");

    int indice;
    indice=rset.getInt(1);

    System.out.println (indice);

    rset=stmt.executeQuery (" insert into Locale (Id_Locale,Id_Tipo_Locale,Descrizione,Telefono,Res ponsabile,Ubicazione) values (NULL,indice,'L15','144','cicciobello','nonSO') ");

    Devo inserire nella tabella Locale le informazioni di esempio riportate sopra nell'istruzione SQL INSERT INTO.
    Nella tabella Locale c'è 1 campo Id_Tipo_Locale che è 1 chiave esterna per la tabella Tlocale. Le due tabelle sono messe in relazione

    1 a MOLTI
    Tlocale Locale

    In Tlocale ci sono vari record e io ho pensato di trovare l'ID esatto utilizzando 1 query (e questo funziona) e utilizzare questo valore (messo nella variabile indice) per l'istruzione SQL INSERT INTO.


    L'errore in fase di esecuzione è che non trova la colonna indice nella tabella Locale.

    Che posso fare?
    Un grazie enorme a chiunque possa darmi una mano.

  2. #2

    Re: [JAVA]- Istruzione SQL

    Non sono proprio un esperto di database, ma non dovresti usare
    codice:
    ,"+indice+",
    invece che
    codice:
    ,indice,
    ???

  3. #3
    confermo quanto detto da lucis:

    il problema e' proprio il modo in cui metti indice nella stringa ovvero:

    1) executeQuery("... ,indice, ...");

    vuol dire che nella query ci sara' scritto proprio "indice" e non il valore della variabile indice. devi fare

    executeQuery("... ," + indice + ", ...");

    inoltre ti consiglio di:

    1) utilizzare i comandi try e catch ma immagino tu li abbia omessi per rendere l'esempio piu' breve

    2) non mettere mai le query sql cosi', so che e' piu' scomodo ma conviene metterle in una variabile stringa per passarla ad un eventuale log.
    Ancora meglio se le query sql le metti in un file di configurazione che vai a leggere ad ogni avvio di applicazione, in modo tale da poter effettuare modifiche al funzionamento del programma senza dover ricompilare



  4. #4
    GRANDE! FUNZIONA!


    MILLE GRAZIE. Spero di poter contare sempre su di voi, per un neofita come me è una manna dal cielo.

    CIAOOOO

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.