Avatar billede bmc Nybegynder
05. december 2001 - 21:27 Der er 7 kommentarer og
1 løsning

MySQL i flere metoder

Er det muligt at lave en metoder, hvor der kun oprettes forbindelse til MySQL databasen og SQL stringen sættes. Og en anden metode, hvor man stepper fremad i en MySQL databasen?....og hvordan? 
Avatar billede erikjacobsen Ekspert
05. december 2001 - 21:31 #1
Du kan returnere et recordset i en metode
Avatar billede bmc Nybegynder
05. december 2001 - 22:19 #2
hvordan er det nu lige det gøres??:-)
Avatar billede erikjacobsen Ekspert
05. december 2001 - 22:28 #3
Vis os hvordan du tror det skal være
Avatar billede disky Nybegynder
06. december 2001 - 09:07 #4
String sql=\"select navn,telefon from venner order by navn\";

ResultSet rs=database.executeQuery(sql);
while(rs.hasNext())
{
System.out.println(\"navn = \"+rs.getString(\"navn\"));
System.out.println(\"telefon nummer = \"+rs.getInt(\"telefon\"));

}


Hvis vi antager at \'database\' er et database adgangs objekt, og at der i den klasse er en metode \'executeQuery\' som udfører en sql sætning og giver et resultset tilbage.

Så udskriver dette lille program, navn og telefon nummer på de venner du har i tabellen venner sorteret efter deres navn.
Avatar billede bmc Nybegynder
06. december 2001 - 12:37 #5
jeg er lidt ny i det her med databaser, så hvordan kan executeQuery metoden se ud?
Avatar billede disky Nybegynder
06. december 2001 - 12:42 #6
kig på doQuery() bare kald den istedet.


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;
    }
}
Avatar billede bmc Nybegynder
06. december 2001 - 13:21 #7
tak for hjælpe. :-)
Avatar billede disky Nybegynder
06. december 2001 - 13:24 #8
det var så lidt
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