Avatar billede fnw Nybegynder
09. oktober 2002 - 18:25 Der er 7 kommentarer

Javaprogram der indeholder databaseadgang

Hej Alle.

Håber MEGET i kan hjælpe mig. Jeg er alt andet end skrap til at programmere i java, men min uddannelse kræver det...så nu håber jeg i kan hjælpe.

Situationen er den at jeg skal lave et program der består af et personregister, i hvilke det er muligt at søge på de forskellige profiler.

Hvad jeg har fået at vide, så skal man oprette en sql server, og derefter oprette forbindelse til den i java-delen. Dette lyder måske ligetil for en programmør, men ikke for en sølle humanist...

Jeg håber i kan give mig et par pointers, omkring de overordnede metoder for oprettelsen af et sådant system ie. hvordan laver man den funktion der kan søge i en database, og hvordan opretter man nye profiler. Er det muligt at benytte login og passwords til denne server, og kan man downloade nogle predefinerede mønstre der kunne hjælpe med dette.


Ret vagt spørgsmål, men jeg er lidt på tynd is, så alt hjælp modtages med kyshånd
Avatar billede disky Nybegynder
09. oktober 2002 - 18:29 #1
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\");
    }
}



Den klasse kan du bruge det.
Avatar billede magoo20000 Nybegynder
09. oktober 2002 - 18:42 #2
Der er en del om JDBC på http://www.swtech.com/java/jdbc/
Bla. FAQs osv.
Ellers se www.javasoft.com og benyt diskys db-klasse... Den virker skulle jeg hilse og sige:*)
Avatar billede disky Nybegynder
09. oktober 2002 - 18:48 #3
Mange tak Magoo :)
Avatar billede jacobve Nybegynder
09. oktober 2002 - 21:15 #4
jeg syns jeg har set den dbHandler før fra din side disky :-)

Skal siges jeg selv har brugt den til god inspiration (læs: stjal i første omgang med arme og ben og senere viderebyggede) da jeg lavede en databaseforbindelse.
Avatar billede disky Nybegynder
09. oktober 2002 - 21:19 #5
jacob:
Det glæder mig at den har været til hjælp.
Den er absolut ikke perfekt, men den er en god start :)
Avatar billede jacobve Nybegynder
10. oktober 2002 - 10:14 #6
absolut.
Avatar billede fnw Nybegynder
10. oktober 2002 - 10:26 #7
Hej disky.

MAnge tak for dit svar. Som jeg har forstået det, så er ovenstående kode, til at oprette en forbindelse til en database på en server. Næste skridt er at gemme oplysninger, i form af forskellige profiler, som endvidere skal kunne rettes i. Endvidere skulle man gerne kunne søge på disse oplysninger i form af en søgefunktion, der søger på de ord der er i en given profil. Hvordan kan dette gøres?
På forhånd tak..
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