Avatar billede styrmand Nybegynder
25. marts 2002 - 22:45 Der er 10 kommentarer og
1 løsning

ODBC/JDBC (Erik Knows)

Java og databaser
Jeg har downloaded en odbc-driver fra MySql.com.

Der findes også en JDBC-driver, men tilsyneladende kun til Linux.
Kyldes det at JDBC er et Linux koncept, eller skyldes det at JDBC til Windows er en del af ODBC?
Avatar billede disky Nybegynder
25. marts 2002 - 22:48 #1
Den JDBC driver der er til Mysql virker også fint til Windows, den er nemlig skrevet i java som jo bekendt er platformsuafhængigt.
Avatar billede disky Nybegynder
25. marts 2002 - 22:49 #2
odbc drivere bruger du under windows hvis du f.eks vil connecte til Access eller MsSQL, men til MYSQL findes der en JDBC driver som er hurtigere at bruge.
Avatar billede styrmand Nybegynder
25. marts 2002 - 22:51 #3
Okay, menb jeg kan kun finde den i gz -filer, kan de anvendes i windows?
Avatar billede disky Nybegynder
25. marts 2002 - 22:52 #4
ja du udpakker den bare med zip
Avatar billede disky Nybegynder
25. marts 2002 - 22:53 #5
Avatar billede styrmand Nybegynder
25. marts 2002 - 22:53 #6
Det er denne fil jeg taler om
mm.mysql-2.0.4-bin.jar
Avatar billede styrmand Nybegynder
25. marts 2002 - 22:55 #7
Ja der var lige lidt overlap. Hvis du så har et lille kodeeksempel, kaster jeg 10 oven i hatten:-) Ellers nøjes du bare med de 30.
Avatar billede disky Nybegynder
25. marts 2002 - 23:09 #8
Brug denne her:


kald open med:
  public boolean open("org.gjt.mm.mysql.Driver", "jdbc:mysql://SERVERNAME/DBNAVN", "USERNAME","PASSWORD");

Ret det med uppercase


import java.sql.*;

import disky.database.*;

/**
*
* @author  Søren Reinke
* @version
*/

/*
* Funder lidt over om database forbindelsen kun skal åbnes ved brug, eller x antal altid skal være åben
* og man så bruge den/de som connection pool
*/


public class DbHandler extends Object
{
   
    private Connection con=null;

    /** Creates new DataBase */
    public DbHandler()
    {
    }

    public boolean open(String dbDriverName, String dbClassName, String user, String pass)
    {           
        try
        {
            if(con==null)
            {
                Class.forName(dbDriverName).newInstance();
                con = DriverManager.getConnection(dbClassName, user, pass);
            }
        }
        catch (SQLException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (InstantiationException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (IllegalAccessException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        return true;
    }
   
    public void close()
    {
        if(con!=null)
        {
            try
            {
                con.close();
                con=null;
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
    }
   
    public int doUpdate(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
                System.out.println("SQL Update = "+(System.currentTimeMillis()-time)+" ms  "+sql);
                return stat.executeUpdate(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return 0;
    }

    public ResultSet doQuery(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
                System.out.println("SQL Update = "+(System.currentTimeMillis()-time)+" ms  "+sql);
                return stat.executeQuery(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return null;
    }
   
}
Avatar billede styrmand Nybegynder
25. marts 2002 - 23:14 #9
Ups, kan man ikke ændre points mere?
Thank you D I S K Y
Skal jeg oprette et nyt spørgsmål, så du kan få de 10+ eller er der en alternativ måde?
Avatar billede disky Nybegynder
25. marts 2002 - 23:17 #10
nej pyt med det.

jeg har rigeligt med point i forvejen.
Avatar billede styrmand Nybegynder
25. marts 2002 - 23:21 #11
Nej, det er fuldt fortjent, jeg laver et lille ekstra spsm.
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