Avatar billede uvoller Novice
19. februar 2003 - 18:02 Der er 12 kommentarer og
2 løsninger

Database adgang i java

Jeg skal lave et java program, som kan hente og skrive i en database.
Jeg har læst noget litteratir om hvordan det virker, men kan ikke finde nogle osm beskriver hvordan man får det til at virke.
Jeg bruger GEL fra www.gexperts.com til at udvikle i.
Jeg har brug for at vide hvilke JDBC driver jeg skal hente og hvor denskal placeres i forhodl til mine JAVA filer for at få det til at virke.
På forhånd Tak
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 18:08 #1
Hvilken Database bruger du?
Avatar billede arne_v Ekspert
19. februar 2003 - 18:09 #2
Jamen du skal jo bare bruge JDBC.

Det er rimeligt lige ud af landevejen (ihvertfald hvis man
kender til database programmering).

Der er en tutorial på:
  http://java.sun.com/docs/books/tutorial/jdbc/basics/index.html
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 18:10 #3
Du kan bruge denne databasenklasse:

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

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;
    }

Den er udviklet af en her på eksperten og den virker skulle jeg hilse og sige.
Avatar billede uvoller Novice
19. februar 2003 - 18:11 #4
Jeg havde tænkt mig at anvende en access dastabase, men er åben hvis der er andre muligheder som er nemmere.
Det eneste der skal stå i databsen er et brugernavn, password og brugerens mail, det er et mail program der skal udvikles.
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 18:12 #5
Ind i kontrolpanelet under Windows. Vælg adminstrative tools og så data Sources og registrer db'en der.
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 18:13 #6
Open-metoden kalder du med:
open("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:ODBCNAVN","USERNAME","PASSWORD");
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 18:14 #7
Det virker perfekt med Access
Avatar billede arne_v Ekspert
19. februar 2003 - 18:15 #8
Du kan godt bruge MS Access.

Så skal du lave en ODBC DSN og bruge den JDBC ODBC bridge der
er med i JDK/JRE.

Det er ikke optimalt for high performance, men virker OK til
mindre ting.
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 18:16 #9
ODBCNAVN er det navn du giver inde i Data Sources i avancerede instillinger.
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 18:17 #10
Avatar billede uvoller Novice
19. februar 2003 - 19:15 #11
Jeg siger tak for hjælpen fra jer begge 2, da jeg finder jeres begge 2 svar lige gode giver jeg jer 15 ipoint hver, hvis dette ikke er ok må i lige sige til.
A takker Voller
Avatar billede arne_v Ekspert
19. februar 2003 - 19:18 #12
Helt OK med mig.
Avatar billede magoo20000 Nybegynder
19. februar 2003 - 19:29 #13
Fino!
Avatar billede roo104 Nybegynder
20. februar 2003 - 08:57 #14
Her er en gratis bog på dansk, hvor der også er et kapitel om JDBC. Den bruger vist også en acces database.
http://www.bog.ing.dk/pics/ajp.pdf
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