Avatar billede repsak Nybegynder
21. april 2002 - 20:59 Der er 6 kommentarer og
1 løsning

Opret ny tabel

Hvordan opretter jeg en ny tabel fra Java?
Jeg har prøvet med både metoden "execute(CREATE ...)" og "executeUpdate(CREATE ...)" men det virker ikke.
- Kasper
Avatar billede erikjacobsen Ekspert
21. april 2002 - 21:04 #1
Hvad skriver du, og hvad sker der?
Avatar billede disky Nybegynder
21. april 2002 - 23:55 #2
f.eks.

Du sender følgende SQL query til databasen:
CREATE TABLE test (id TINYINT NOT NULL)

Eller noget lignende
Avatar billede disky Nybegynder
22. april 2002 - 15:52 #3
repsak:
Hvad med at specificere dit spørgsmål så man har en ide om hvor dit problem er.

Jeg har postet en 100% gyldig SQL query som jeg ved virker fra java.

Eller er dit problem måske i din databasehandler ?, hvis det er så tag lige og skriv det ikke.
Avatar billede repsak Nybegynder
23. april 2002 - 18:48 #4
Allrigth:
Jeg har lavet et program i Java, der skal kunne oprette en (eller flere) tabeller i en Interbase Database. Jeg mangler den stump kode der skal bruges for at udføre denne handling. Jeg forestiller mig et eller andet i retning af:
state.executeUpdate(CREATE TABLE ...)
men kan ikke umiddelbart få det til at virke.
Hjalp det...? :-)
Avatar billede disky Nybegynder
23. april 2002 - 20:56 #5
Du bruger nedenstående klasse

og kalder open() med:
open(dbDriverName,dbClassName,username,password);

Hvor du bytter parameterne ud med korrekte værdier.

derefter kalde du f.eks.
executeUpdate("CREATE TABLE test (id TINYINT NOT NULL)");



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 repsak Nybegynder
23. april 2002 - 22:04 #6
Super duper - tak for hjælpen :-)
Avatar billede disky Nybegynder
23. april 2002 - 22:35 #7
Det var skam 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