Avatar billede mickni33 Nybegynder
17. oktober 2001 - 09:57 Der er 9 kommentarer og
1 løsning

Til disky

?
Avatar billede disky Nybegynder
17. oktober 2001 - 10:00 #1
For resten af http://www.eksperten.dk/spm/121547

Her er eksemplet :)

Først klassen der kan connecte til databasen, den er generel og bliver kaldt fra fil #2

I bunden af fil #2, skal det skrevet med uppercase udskiftes med data som passer til dit system.



import java.sql.*;

/**
*
* @author  srr
* @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)
    {           
//        System.out.println(\"************************************************************************\");
        try
        {
            if(con==null)
            {
                Class.forName(dbDriverName).newInstance();
                con = DriverManager.getConnection(dbClassName, user, pass);
//                System.out.println(\"con = \"+con);
            }
        }
        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;
    }
}





fil #2



/**
*
* @author  srr
* @version
*/
public class Database extends dbHandler
{
   
    /** Creates new Database */
    public Database()
    {
    }

    public boolean open()
    {
        return super.open(\"org.gjt.mm.mysql.Driver\",\"jdbc:mysql://DBSERVERNAME/DATABASENAME\",\"USERNAME\",\"PASSWORD\");
    }
}
Avatar billede mickni33 Nybegynder
17. oktober 2001 - 10:21 #2
skal der ikke import\'es noget fra den der mm.Mysql som jeg har downloaded
Avatar billede disky Nybegynder
17. oktober 2001 - 10:23 #3
Nej, men din .jar fil SKAL være nævnt specifikt i din classpath.

via return super.open(\"org.gjt.mm.mysql.Driver\",\"jdbc:mysql://DBSERVERNAME/DATABASENAME\",\"USERNAME\",\"PASSWORD\");
   
bliver klasse #1 fortalt hvad driveren hedder, og den bliver loadet her:

                Class.forName(dbDriverName).newInstance();
                con = DriverManager.getConnection(dbClassName, user, pass);
Avatar billede mickni33 Nybegynder
17. oktober 2001 - 10:26 #4
det kan godt være det lyder dumt men jeg har aldrig set en claspath i linux,(er C++ mand) hvor ligger den.
Avatar billede disky Nybegynder
17. oktober 2001 - 10:27 #5
puha hvordan er det nu man gør, 2 sec, skal lige på min server.
Avatar billede disky Nybegynder
17. oktober 2001 - 10:33 #6
i min

/etc/rc.d/rc.local fil har jeg følgende:

export CLASSPATH=/usr/local/jdk1.3.1/lib:/home/apache/disky.dk/WEB-INF/classes/lib


og jeg har så udpakket den .jar fil og lagt data i /home/apache/disky.dk/WEB-INF/classes/lib

Men hvis du ikke gider det, kan du ligge jar filen i din lib/ext skuffe under jdk, og så f.eks. skrive

CLASSPATH=/usr/local/jdk1.3.1/lib:/usr/local/jdk1.3.1/lib/ext/NAVNETpåJARfil

ret så navnet til sidst.
Avatar billede mickni33 Nybegynder
17. oktober 2001 - 10:39 #7
geniaaaalt
Det var fedt men en så udførlig beskrivelse.. Du styre bare den java side
Avatar billede disky Nybegynder
17. oktober 2001 - 10:44 #8
mange tak :)

Man bliver jo miljø skadet, når man ikke har lavet andet siden 1/7 sidste år end java som arbejde :)
Avatar billede mickni33 Nybegynder
17. oktober 2001 - 10:47 #9
Ja det er fedt ik? glæder mig også til jeg skal ud og blive miljøskadet her 1.dec (forhåbentlig) i et eller andet programmeringssprog.
Avatar billede mickni33 Nybegynder
17. oktober 2001 - 12:49 #10
Jeg har på fornemmelsen at suse er noget l... jeg har lige lavet min java path i profile, men aligevel kan den ikke compilerer. så jeg må skrive det i shell\'en direkte
export PATH=/usr/java/jdk1.3.1 osv osv
før det virker
Jeg lavede også min CLASSPATH i profile og der sker der heller ikke noget.
For det ikke skal være løgn er der ikke nogen rc.d i suse der skal man gå direkte til init.d

Tror jeg må gå over til rødhette igen. Skiftede til suse fordi den godkendte mit netkort. Men man kan ikke få det hele serveret. Så nu prøver jeg lige et par dage, nu har jeg da fået et program som skulle virke så ved jeg det
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