Avatar billede henrik_40 Juniormester
31. maj 2004 - 21:31 Der er 19 kommentarer og
1 løsning

import / package - problem i Java

Hej - jeg er i kommet i knibe med et projekt :-(

Problemet er at jeg vil lave en forbindelse til en simpel postnr (Postnr, City) - tabel i mysql.
Jeg har lavet tre java-filer, og det var meningen, det så skulle oprettes forbindelse. Men ingenting virker:


//dataforbindelse.java
package data;

import java.sql.*;
import java.util.*;


public class databaseforbindelse {
  private Connection forb;
  private Statement stmt;

  public databaseforbindelse() throws Exception
  {
          Class.forName("jdbc.mysql.jdbc.Driver");
          Connection forb = DriverManager.getConnection("jdbc:mysql:///minitrans");
          stmt = forb.createStatement();
  }

  public Vector hentAlle() throws SQLException
  {
          Vector alle = new Vector();
          ResultSet rs = stmt.executeQuery("select * from Postnr where Postnr > 9000");
          while (rs.next())
          {
                  // brug kolonneindeks i stedet for kolonnenavn
                  post ost = new post( rs.getString("Postnr"), rs.getString("City"));
                  alle.addElement(ost);
          }
          return alle;
  }

}


// post.java

package data;

public class post {
  String Postnr;
  String City;

  public post(String n, String k)
  {
    Postnr = n;
    City = k;
  }
  public String toString()
  {
    return Postnr+ "nr: "+City+" by";
  }
}

//databaseforbindelse.java
package data;
import java.util.*;

public class benytdatabaseforbindelse
{
        public static void main(String[] arg)
        {
                try {
                        databaseforbindelse dbf = new databaseforbindelse();

                        Vector    v = dbf.hentAlle();
                        System.out.println("Alle data: "+v);
                        System.out.println("Alle data nu: "+ dbf.hentAlle());

                } catch(Exception e) {
                        System.out.println("Problem med database: "+e);
                        e.printStackTrace();
                }
        }
}
Avatar billede henrik_40 Juniormester
31. maj 2004 - 21:33 #1
Der er flere fejlmedd., så det kræver vist lidt "gennemgang" at løse mit problem.

"benytdatabaseforbindelse.java": cannot resolve symbol: class databaseforbindelse in class data.benytdatabaseforbindelse at line 9, column 25
"benytdatabaseforbindelse.java": cannot resolve symbol: class databaseforbindelse in class data.benytdatabaseforbindelse at line 9, column 55
"databaseforbindelse.java": cannot resolve symbol: class post in class data.databaseforbindelse at line 25, column 19
"databaseforbindelse.java": cannot resolve symbol: class post in class data.databaseforbindelse at line 25, column 34
Avatar billede henrik_40 Juniormester
31. maj 2004 - 21:34 #2
Bruger Borland JBuilder X
Avatar billede arne_v Ekspert
31. maj 2004 - 21:36 #3
Mit gæt vil være at du ikke har fået klasserne puttet rigtigt ned i package data,
men kun har tilføjet linien:

package data;
Avatar billede henrik_40 Juniormester
31. maj 2004 - 21:38 #4
Ja det er rigtigt. Troede det var nok. Hvordan gør jeg - i Builderen?

Wizard-oprette Class?
Avatar billede arne_v Ekspert
31. maj 2004 - 21:39 #5
Har du en lille blå pakke med navn data ?

Hvis ikke så prøv og:
  - slet den package linie
  - make filen
  - klik UML
  - højre klik på klassen og vælg move
  - angive pakken
Avatar billede arne_v Ekspert
31. maj 2004 - 21:44 #6
(når du opretter klassen med wixzarden kan du også angive pakke, men det er jo lidt sent nu)
Avatar billede henrik_40 Juniormester
31. maj 2004 - 21:49 #7
Dit første forslag virker ikke.  Move er disabled??? Måske fordi der er noget i vejen med min BuilderX, jeg kan nemlig heller ikke "adde" Watches...

Har du en idé ellers må jeg prøve med Wizarden. Men jeg kunne godt tænke mig at kunne gøre det v.hj.a. UML, det virker smartere.
Avatar billede arne_v Ekspert
31. maj 2004 - 21:53 #8
Har du compilet ?

Dobbeltklikker du på klasse navnet ?  (ikke pakke navnet)
Avatar billede henrik_40 Juniormester
31. maj 2004 - 22:29 #9
Nej, havde problemer med at kompilere.
Ved du hvordan de tre filer kender hinanden. Med en package - eller med import?
Avatar billede arne_v Ekspert
31. maj 2004 - 22:31 #10
Slet package i alle 3.

Få en clean compile.

Move alle 3.
Avatar billede arne_v Ekspert
31. maj 2004 - 22:31 #11
Og hvis du skule være i tvivl: move sætter selv package ind og justerer imports !
Avatar billede henrik_40 Juniormester
31. maj 2004 - 22:37 #12
Hvad mener du med at "move" alle 3
Avatar billede arne_v Ekspert
31. maj 2004 - 22:39 #13
De skal vel alle 3 flyttes - men en af gangen selvfølgelig
Avatar billede henrik_40 Juniormester
31. maj 2004 - 22:41 #14
Hvordan flytter jeg dem?
Det virker ikke med dit UML-ting..
Avatar billede henrik_40 Juniormester
31. maj 2004 - 22:49 #15
Måske er problmet at jeg ikke kan kompilere, selvom jeg laver CLEAN.

Den melder fejl, som du så i indledningen til mit spørgsmål *hulk*
Avatar billede arne_v Ekspert
31. maj 2004 - 22:51 #16
UML refactoring virker først når det kan compiles (spørg Borland om hvorfor).

Hvis du sletter package direktiv i alle 3 filer - kan du så ikke få det til at compile ?
Avatar billede arne_v Ekspert
16. juni 2004 - 22:24 #17
Kommet videre ?
Avatar billede arne_v Ekspert
09. august 2004 - 00:03 #18
??
Avatar billede henrik_40 Juniormester
19. januar 2012 - 14:02 #19
Nej, har droppet projektet. Undskyld ulejligheden og tak for din response
Avatar billede arne_v Ekspert
19. januar 2012 - 23:59 #20
Der kan jo ske ting og sager paa 7.5 aar !

:-)

Men et svar fra mig, hvis du skulle mene at jeg har fortjent point.
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