Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    [JAVA] Connessione db con DataSource

    codice:
    package exampleconnectdatabase;
    
    import java.sql.*;
    import java.sql.ResultSet;
    import javax.sql.DataSource;
    import oracle.jdbc.*;
    import oracle.jdbc.pool.OracleDataSource;
    
    public class ExampleConnectDatabase {
        
        public static void main(String[] args){
        
        Connection conn = null;
        String username;
        
        try {
          DataSource ds = new OracleDataSource();
          ds.setDatabaseName("nomedb");
          conn = ds.getConnection();
          Statement statement = conn.createStatement();
          ResultSet rset = statement.execute("select * from ADMIN");
          while (rset.next()) {
              username = rset.getString(1);
              System.out.println("Username: " + username);
          }
          statement.close();
       }
       catch( Exception exception ) {
          System.out.println("Errore script");
       }
       finally {
          if ( conn != null )
          {
             try {
                conn.close();
             }
             catch( SQLException sqlException ){}
          }
       }    
       }
    }
    Ragazzi qualcuno può dirmi perchè mi dà errore nel compilare la seguenti righe:
    codice:
    ds.setDatabaseName("nomedb");
    ResultSet rset = statement.execute("select * from ADMIN");
    praticamente e come se non esistesse il metodo setDatabaseName O.o

    Grazie anticipatamente.
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Ma ds è un oggetto di tipo DataSource, non puoi fargli eseguire metodi della sua sottoclasse senza fare un casting.
    Dichiaralo di tipo OracleDataSource :

    codice:
    OracleDataSource ds = new OracleDataSource();

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Si ti ringrazio ma ho risolto già, in questo modo:

    codice:
    package exampleconnectdatabase;
    
    import java.sql.*;
    import java.sql.ResultSet;
    import javax.sql.DataSource;
    import oracle.jdbc.*;
    import oracle.jdbc.pool.OracleDataSource;
    
    public class ExampleConnectDatabase {
        
        public static void main(String[] args) {
        
            Connection conn = null;
            String username;
    
            try {
                OracleDataSource ds = new OracleDataSource();
                ds.setDriverType("thin");
                ds.setServerName("xxx");
                ds.setPortNumber(xxx);
                ds.setDatabaseName("xxxx");
                ds.setUser("xxx");
                ds.setPassword("xxx");
                conn = ds.getConnection();
                Statement statement = conn.createStatement();
                ResultSet rset = statement.executeQuery("select * from ADMIN");
                while (rset.next()) {
                    username = rset.getString(2);
                    System.out.println("Username: " + username);
                }
                statement.close();
            }
            catch( Exception exception ) {
                System.out.println("Errore script");
            }
            finally {
                if ( conn != null )
                {
                    try {
                        conn.close();
                    }
                    catch( SQLException sqlException ){}
                }
            }    
       }
    }
    sbagliavo in ResultSet perchè cercavo di richiamare un metodo con il nome execute ma in realtà si chiama executeQuery. Grazie comunque
    Con i sogni possiamo conoscere il futuro...

  4. #4
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    bejur888 cosa significa il tuo commento?
    Con i sogni possiamo conoscere il futuro...

  5. #5
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Lascia stare, penso sia uno spam bot.
    Verrà bannato.

  6. #6
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Comunque ritornando alle cose siere...
    Who I am una domanda. Poichè a breve devo fare un applicazione (Con tanto di grafica) che reperisce informazioni da un database e deve permettere anche di inserire, cancellare e modificare record presenti nel database. Mi consigli di creare, che ne sò una classe Database
    per effettuare operazioni sul database??
    Tipo avere una cosa del tipo:

    codice:
    public class Database
    {
    ...
    public int numRows(String query)
    {
    // restituisco il numero di righe di una query
    }
    
    ...
    
    }
    Come mi consigli di strutturare la cosa?
    Con i sogni possiamo conoscere il futuro...

  7. #7
    Originariamente inviato da gaten
    Comunque ritornando alle cose siere...
    Who I am una domanda. Poichè a breve devo fare un applicazione (Con tanto di grafica) che reperisce informazioni da un database e deve permettere anche di inserire, cancellare e modificare record presenti nel database. Mi consigli di creare, che ne sò una classe Database
    per effettuare operazioni sul database??
    Tipo avere una cosa del tipo:

    codice:
    public class Database
    {
    ...
    public int numRows(String query)
    {
    // restituisco il numero di righe di una query
    }
    
    ...
    
    }
    Come mi consigli di strutturare la cosa?

    Direi che è una domanda che va oltre lo scopo di questo forum. A puro titolo informativo potresti disegnare la struttura della tua applicazione in molti modi diversi, in fondo applicazioni di questo tipo esistono da prima della programmazione ad oggetti (vedi il server X che è scritto in C).
    Un design strutturale che va molto di moda oggi è l'MVC.
    Le applicazioni del tipo che vuoi realizzare "sopravvivono" a qualsiasi design infrastrutturale perché sono relativamente banali, quindi nel scegliere il tuo design cerca di informarti su cosa va per la maggiore e approfittane per gettare le basi per creare progetti più complessi.
    ...

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.