Avatar billede danny_k Nybegynder
02. december 2003 - 16:34 Der er 12 kommentarer og
1 løsning

MySQL helt fra bunden

Jeg skal bruge noget MySQL i mit program. Jeg kender til PHP og MySQLadmin. Jeg bruger eclipse til at programmere i, men jer er lost i forhold til at komme i gang, med at installere de fornødne pakker, drivere osv. Har været igennem mange af spørgsmålene, men ikke fundet noget der dur til min forståelse. Hjælp mig!
Avatar billede arne_v Ekspert
02. december 2003 - 16:42 #1
Du skal bruge JDBC til at interface Java->MySQL med.

Der er en JDBC tutorial her:
  http://java.sun.com/docs/books/tutorial/jdbc/basics/index.html

Læs den og lær hvilke JDBC kald du skal bruge.

Så skal du have MySQL op at køre, men det lyder som om du har styr på det.

Du skal have fat i MySQL JDBC driver kalde Connector/J som kan hentes her:
  http://www.mysql.com/downloads/api-jdbc-stable.html

Den downloader du og unzipper.

I Eclipse tilføjer du så den jar fil der bliver udpakket til projektets
classpath:
  højre klik projekt
  properties
  java build path
  library
  add external jar
Avatar billede danny_k Nybegynder
02. december 2003 - 18:10 #2
Jeg får denne meddelelse når jeg kører test

java.lang.Error: Unresolved compilation problem:
    Unhandled exception type java.sql.SQLException

    at java.lang.reflect.Constructor.newInstance(Native Method)
    at NyDBK.testSelect(NyDBK.java:21)
    at NyDBK.<init>(NyDBK.java:18)
    at Test.main(Test.java:13)
Exception in thread "main"

import java.io.IOException;
import java.sql.*;

public class NyDBK{   
    private Connection conn;
    Statement stmt = null;
    ResultSet rs = null;

public NyDBK(String input) {
      try {
          Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/");

      }
      catch (Exception e) {
          System.out.println("Kunne ikke initialisere JDBC connection. " + e);
      }
    testSelect();
  }
public void testSelect(){
    stmt = conn.createStatement(); // her laver eclipse røde streger
}

}


stmt = conn.createStatement();
I denne linie laver eclipse røde streger
Hvorfor???
Avatar billede arne_v Ekspert
02. december 2003 - 18:14 #3
Prøv med:

public void testSelect(){
  try {
    stmt = conn.createStatement(); // her laver eclipse røde streger
  }
      catch (Exception e) {
          System.out.println("Kunne ikke lave JDBC statement. " + e);
      }
}
Avatar billede danny_k Nybegynder
02. december 2003 - 18:28 #4
Hvad er fejlen så hvis der "...ikke kunne laves en JDBC statement" ?
Avatar billede arne_v Ekspert
02. december 2003 - 18:32 #5
Ved jeg ikke.

I praksis for man aldrig fejl der.
Avatar billede danny_k Nybegynder
02. december 2003 - 18:59 #6
Kan det evt. være fordi der ikke er skabt ordentlig forbindelse til databasen?
Avatar billede arne_v Ekspert
02. december 2003 - 19:01 #7
Så skulle du få fejl ved getConnection.
Avatar billede arne_v Ekspert
02. december 2003 - 19:02 #8
Hvad siger Exception ?
Avatar billede danny_k Nybegynder
02. december 2003 - 19:06 #9
Den giver mig en NullPointerException

"Kunne ikke lave JDBC statement. java.lang.NullPointerException"
Avatar billede _carsten Nybegynder
02. december 2003 - 19:29 #10
Skal den getConnection ikke være:
("jdbc:mysql://localhost:3306/" + database, username, password)  ????????????????
Avatar billede arne_v Ekspert
02. december 2003 - 19:34 #11
Lyder som conn er null.
Avatar billede arne_v Ekspert
02. december 2003 - 19:36 #12
Jeg havde forventet en Exception hvis login fejlede.

Men absolut værd at prøve.
Avatar billede danny_k Nybegynder
02. december 2003 - 20:45 #13
Jeg bliver nødt til at kome tilbage til det teorien bag mit program. Men tak for hjælpen foreløbig. Jeg giver Arne pointene for han har hjulpet mest. Men "stay tuned"... jeg vender tilbage med flere spm
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