Avatar billede coolfisk Nybegynder
23. november 2003 - 10:31 Der er 6 kommentarer og
1 løsning

java og databaser

Jeg forstår ikke helt sammenhængen mellem, når man opretter datasen i main og kald af den funktioner andre steder end mainen. I Databaseforbindelse er der funktioner der tilføjer en plade til databasen = dbf.indsæt( new Plade(3, 5, 6) );.... og vil gerne bruge denne funktion andre steder end mainen, f.eks. ved tryk på en knap, se længere nede.
:

public Frame1() {
    try {
      jbInit();
      init();
      Databaseforbindelse dbf = new Databaseforbindelse();
   
      Vector  v = dbf.hentAlle();

      for(int i = 0 ; i < v.size() ; i++) {
        System.out.println(v.elementAt(i));
      }

   
      //dbf.indsæt( new Plade(3, 5, 6) );

      );



    }
    catch(Exception e) {
      e.printStackTrace();
      System.out.println("Problem med database: "+e);
    }
  }


og gerne vil hente nogle af dens funktioner ved f.eks. ved tryk på en knap:

void opret_actionPerformed(ActionEvent e) {
    Opretplade op = new Opretplade(this);
    op.show();
    //dbf.indsæt( new Plade(3, 5, 6) );


  }

det har noget med catch SQLException / try, men kan du vise hvordan man anvender det?
Avatar billede arne_v Ekspert
23. november 2003 - 10:37 #1
Prøv og erstat:

Databaseforbindelse dbf = new Databaseforbindelse();

med:

dbf = new Databaseforbindelse();

og put:

private Databaseforbindelse dbf;

udenfor metoden.
Avatar billede coolfisk Nybegynder
23. november 2003 - 10:58 #2
Det melder fejlen: unreported exception java.sql.SQLException, must be caugth or declared to be thrown at line 190:

void opret_actionPerformed(ActionEvent e) {
    System.out.println("trykket på Opret!");
    dbf.indsæt( new Plade(3, 5, 6) );

  }
Avatar billede arne_v Ekspert
23. november 2003 - 12:02 #3
Enten:

  void opret_actionPerformed(ActionEvent e) throws SQLException {
    System.out.println("trykket på Opret!");
    dbf.indsæt( new Plade(3, 5, 6) );

  }
eller:

  void opret_actionPerformed(ActionEvent e) {
    System.out.println("trykket på Opret!");
    try {
      dbf.indsæt( new Plade(3, 5, 6) );
    } catch (SQLException ex) {
      ex.printStackTrace();
    }

  }
Avatar billede arne_v Ekspert
23. november 2003 - 12:03 #4
Med den første er problemet bare flyttet en tand op.
Avatar billede coolfisk Nybegynder
23. november 2003 - 12:06 #5
det virker, mange tak! Husk at skriv svar :)
Avatar billede arne_v Ekspert
23. november 2003 - 12:28 #6
svar
Avatar billede coolfisk Nybegynder
23. november 2003 - 12:30 #7
mange tak for svaret, nu kan jeg komme videre igen... :)
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