Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Controllo sul DataBase

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49

    Controllo sul DataBase

    Ciao a tutti!!!
    Vorrei fare un controllo su un inserimento nel DataBase ma non so come farlo...
    Allora ho la mia tabella "prenotazione" e vorrei controllare se esiste già una prenotazione avente la stessa data e lo stesso orario.
    Io ho pensato di prelevare i dati inseriti dall'utente e poi effettuare una select!! ma poi... non so più come fare...
    Qlc sa darmi qualke consiglio!!


    codice:
    ButPrenota.addActionListener(new ActionListener() 
    public void actionPerformed(ActionEvent evt) {
    									     boolean controllo = true; 
    	String[] dati = {comboboxTextField.getText(),Nome.getText(),OraInizio.getText(),txtAttività.getText(), txtNote.getText()}; 
    				    
         ControlManager cm = new ControlManager(); 
         controllo = cm.controllaDatiVuoti(dati); 
         //se il primo controllo è andato a buon fine, continuo con gli altri 
    	          if(controllo){
            	 // PrenotazioneEsiste();
            	              if(controllo){ 
      
    			try {
    		prenota(evt);
    	} catch (SQLException e) {
    	e.printStackTrace();
    	} catch (ClassNotFoundException e) {
    	e.printStackTrace();
    			}
    	               }
    					
    		}
    		}});
    
    		}
    		return ButPrenota;
    	}

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    ma che codice è???? C'è scritto persino due volte
    codice:
    if (controllo)
    la prima volta hai anche commentato un metodo che non si sa cosa dovrebbe fare.

    Crea un'eccezione prenotazioneEsistente e lanciala con throw all'interno del metodo che gestisce la prenotazione (ovvero quando il result set con parametri quella data e quell'ora non sia vuoto); il metodo dovrà contere throws nella firma. In questo modo nel "main" ti basta usare il metodo di sopra e catturare l'eventuale eccezione lanciata con un try/catch.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Una volta che hai ottenuto la data e l'ora dall'utente effettui una SELECT sul database con quelle informazioni.
    Se il ResultSet che ottieni contiene almeno un record allora esiste già una prenotazione per quella data/ora.

    A grandi linee:
    codice:
    String data = ...;
    String ora = ...;
    
    
    String query = "SELECT * FROM prenotazioni WHERE ((data=?) AND (ora=?))";
    PreparedStatement stmt = connessione.prepareStatement( query );
    stmt.setDate( costruisci una java.sql.Date con la data che hai nella stringa );
    stmt.setDate( costruisci una java.sql.Date con l'ora che hai nella stringa );
    
    ResultSet rs = stmt.executeQuery();
    
    controllo = !rs.next();   // Se c'è un record "controllo" vale false
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.