Avatar billede bmc Nybegynder
05. december 2001 - 20:01 Der er 9 kommentarer og
1 løsning

Mysql connection

Hvordan laver jeg en MySQL connection i java?
Avatar billede cyberzed Nybegynder
05. december 2001 - 20:19 #1
Du kan lave den sådan her:

private org.gjt.mm.mysql.jdbc2.Connection con;
private String db0 = \"jdbc:mysql://128.0.1.5:3306/CDbase?user=\";
private String db1 = \"&password=\";
private String usr = \"username\";
private String pwd = \"password\";
private String db = db0+usr+db1+pwd;
   
public Database_Handler()
{
    try
    {
        Class.forName(\"org.gjt.mm.mysql.Driver\").newInstance();
    }
    catch(Exception e)
    {
        System.out.println(e.toString());
    }
    try
    {
        con = (org.gjt.mm.mysql.jdbc2.Connection) DriverManager.getConnection(db);
    }
    catch (SQLException e)
    {
        System.out.println(\"SQLException: \" + e.getMessage());
        System.out.println(\"SQLState:    \" + e.getSQLState());
        System.out.println(\"VendorError:  \" + e.getErrorCode());
    }
}
Avatar billede bmc Nybegynder
05. december 2001 - 20:31 #2
min compiler brokker sig over:private org.gjt.mm.mysql.jdbc2.Connection con;

den fremhæver det sidste ord \"con\"
Avatar billede cyberzed Nybegynder
05. december 2001 - 20:32 #3
Har du hentet mm.mysql ???
Avatar billede bmc Nybegynder
05. december 2001 - 20:35 #4
nej, hvor skal jeg hente den? jeg troede der lå en driver i java...
Avatar billede cyberzed Nybegynder
05. december 2001 - 20:40 #5
Avatar billede bmc Nybegynder
05. december 2001 - 20:48 #6
Okay, nu har jeg hentet den og installeret den.
Nu melder den fejl ved:con = (org.gjt.mm.mysql.jdbc2.Connection) DriverManager.getConnection(db);
og fremhæver DriverManager??
Avatar billede disky Nybegynder
05. december 2001 - 22:00 #7
Tilføj en

e.printStackTrace();

I din catch så du for noget brugbar information
Avatar billede disky Nybegynder
06. december 2001 - 08:59 #8
Der er forresten en major fejl i ovenstående kode.

Hvis koden i den første try fejler, hvorfor så overhovedet prøve at køre try #2 ???

Og man catcher ikke en Exception, man udspecificerer de exceptions der kan opstå. Ellers udnytter man ikke de fordele som der er i try/catch systemmet.


f.eks. på følgende måde:

    public boolean initialize(String dbDriverName, String dbClassName, String user, String pass)
    {
        try
        {
            if(conn==null)
            {
                Class.forName(dbDriverName).newInstance();
                conn = DriverManager.getConnection(dbClassName, user, pass);
            }
            return true;
        }
        catch (SQLException e)
        {
            System.out.println(e);
            e.printStackTrace(System.out);
            return false;
        }
        catch (ClassNotFoundException e)
        {
            System.out.println(e);
            e.printStackTrace(System.out);
            return false;
        }
        catch (InstantiationException e)
        {
            System.out.println(e);
            e.printStackTrace(System.out);
            return false;
        }
        catch (IllegalAccessException e)
        {
            System.out.println(e);
            e.printStackTrace(System.out);
            return false;
        }
        }
Avatar billede cyberzed Nybegynder
06. december 2001 - 10:43 #9
Tillykke med det !

Det er jo op til den enkelte og bestemme hvad han vil med en Exception, jeg har bare smidt det ind sådan som jeg har lavet det. Det er jo ikke så tit man har den samme tankegang som andre :)
Avatar billede disky Nybegynder
06. december 2001 - 10:49 #10
???

Forklar hvordan det giver mening at udfører try #2 hvis #1 fejler.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester