Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    java Metodo principale non trovato - definire metodo main

    Errore: il metodo principale non è stato trovato nella classe com.pellegrinoprincipe.DBHelper. Definire il metodo principale come: public static void main(String[] args)

    Ricevo questo errore da un codice java che è stato compilato correttamente, segue il codice, qualcuno qualcuno puo' darmi un aiuto ?
    Grazie

    codice:
    package com.pellegrinoprincipe;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import javax.swing.JTextArea;
    
    public class DBHelper
    {
        public static String dbtype; // tipo di RDBMS
        public static JTextArea output; // output error field   
        private static Connection conn; // oggetto Connection
        private static String drivers_name[] =
        {
            "com.mysql.jdbc.Driver", // MySQL 5.5
            "oracle.jdbc.OracleDriver", // Oracle 11g
            "com.ibm.db2.jcc.DB2Driver", // DB2 9 Universal
            "com.microsoft.sqlserver.jdbc.SQLServerDriver", // SQL Server 2008
        };
    
        private static String url_format[] = {"jdbc:mysql://","jdbc:oracle:thin:@","jdbc:db2://", "jdbc:sqlserver://"};
    
        public static void loadDriver()
        {
            String driver = "";
            switch (dbtype)
            {
                case "MySQL":
                    driver = drivers_name[0];
                    break;
                case "Oracle":
                    driver = drivers_name[1];
                    break;
                case "DB2":
                    driver = drivers_name[2];
                case "SQL Server":
                    driver = drivers_name[3];
                default:
                    break;
            }
    
            try { Class.forName(dbtype); }
            catch (ClassNotFoundException ex) { output.setText(ex.getMessage()); }
        }
    
        public static void doConnection(String url, String port, String dbname, String u_name, String pwd)
        {
            String complete_url = "";
            switch (dbtype)
            {
                case "MySQL":
                    complete_url = url_format[0] + url + ":" + port + "/" + dbname;
                    break;
                case "Oracle":
                    complete_url = url_format[1] + url + ":" + port + ":" + dbname;
                case "DB2":
                    complete_url = url_format[2] + url + ":" + port + "/" + dbname;
                case "SQL Server":
                    complete_url = url_format[3] + url + ":" + port + ";" + "databaseName=" + dbname;
                default:
                    break;
            }
    
            try
            {
                conn = DriverManager.getConnection(complete_url, u_name, pwd);
    
                output.setText("Connessione effettuata con successo!!!");
            }
            catch (SQLException ex) { output.setText(ex.getMessage()); }
        }
    
        public static void closeConnection()
        {
            try // chiudo esplicitamente la connessione al database
            {
                if (conn != null)
                {
                    conn.close();
                    output.setText("Disconnessione effettuata con successo!!!");
                }
            }
            catch (SQLException ex) { output.setText(ex.getMessage()); }
        }
    }

  2. #2

    Moderazione

    Per Java c'è la sezione apposita, sposto.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Comunque, non conosco Java, ma dal messaggio di errore sembra che tu abbia tentato di eseguire la classe in questione "da sola" invece di far partire l'esecuzione da una qualche classe dotata di metodo Main (l'entrypoint dell'applicazione).
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Il metodo main deve stare da qualche parte, altrimenti l' interprete java non sa da dove partire ad interpretare le istruzioni.

    Basta mettere il main:

    codice:
    public static void main(String[] args)
    {<codice da eseguire>}
    Dentro alla classe.Oppure crei una classe apposita.

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.