M3nt0z
Legacy Member
Hallo,
Voor school moeten we het spel lingo maken.
De leerkracht had een klein programma gemaakt zodat deze automatisch de woorden in onze db in mysql zou plaatsen in verschillende tabellen, we moesten enkel nog de connectionstring aanpassen.
Het programma maakt enkel de tabel woorden5 aan (woorden met 5 letters) maar vult deze ook niet op aangezien er ergens een fout moet zijn bij de methode fill die hij aanroept. Heb al paar dingen proberen wijzigen om het probleem om te lossen en nieuwe projecten zitten aanmaken om helemaal clean te zijn, dit helpt niet. Hieronder zien jullie de code + foutmelding.
[FOUTMELDING]
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at main.MaakWoordenlijst.fill(MaakWoordenlijst.java:50)
at main.MaakWoordenlijst.main(MaakWoordenlijst.java:27)
[/FOUTMELDING]
alvast bedankt.
Voor school moeten we het spel lingo maken.
De leerkracht had een klein programma gemaakt zodat deze automatisch de woorden in onze db in mysql zou plaatsen in verschillende tabellen, we moesten enkel nog de connectionstring aanpassen.
Het programma maakt enkel de tabel woorden5 aan (woorden met 5 letters) maar vult deze ook niet op aangezien er ergens een fout moet zijn bij de methode fill die hij aanroept. Heb al paar dingen proberen wijzigen om het probleem om te lossen en nieuwe projecten zitten aanmaken om helemaal clean te zijn, dit helpt niet. Hieronder zien jullie de code + foutmelding.
Code:
package main;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class MaakWoordenlijst {
/*
* Pas deze string aan aan jouw databank !
*/
private static final String CONNECTION_URL = "jdbc:mysql://localhost:3306/lingo?user=B8&password=school1";
/*
* Voer vervolgens de applicatie eenmaal uit (dit kan even duren).
*/
public static void main(String[] args) {
try (Connection conn = DriverManager.getConnection(CONNECTION_URL)) {
Statement s = conn.createStatement();
s.executeUpdate("CREATE TABLE `LINGO`.`WOORDEN5` (`ID` INT NOT NULL , `WOORD` VARCHAR(5) NOT NULL , PRIMARY KEY (`ID`) , UNIQUE INDEX `WOORD_UNIQUE` (`WOORD` ASC) )");
fill("WOORDEN5", "woordenlijst-5.txt");
s.executeUpdate("CREATE TABLE `LINGO`.`WOORDEN6` (`ID` INT NOT NULL , `WOORD` VARCHAR(6) NOT NULL , PRIMARY KEY (`ID`) , UNIQUE INDEX `WOORD_UNIQUE` (`WOORD` ASC) )");
fill("WOORDEN6", "woordenlijst-6.txt");
s.executeUpdate("CREATE TABLE `LINGO`.`WOORDEN7` (`ID` INT NOT NULL , `WOORD` VARCHAR(7) NOT NULL , PRIMARY KEY (`ID`) , UNIQUE INDEX `WOORD_UNIQUE` (`WOORD` ASC) )");
fill("WOORDEN7", "woordenlijst-7.txt");
s.executeUpdate("CREATE TABLE `LINGO`.`WOORDEN8` (`ID` INT NOT NULL , `WOORD` VARCHAR(8) NOT NULL , PRIMARY KEY (`ID`) , UNIQUE INDEX `WOORD_UNIQUE` (`WOORD` ASC) )");
fill("WOORDEN8", "woordenlijst-8.txt");
} catch (SQLException ex) {
ex.printStackTrace();
}
}
private static void fill(String tableName, String fileName) {
try (Connection conn = DriverManager.getConnection(CONNECTION_URL);
Scanner in = new Scanner(MaakWoordenlijst.class.getResourceAsStream(fileName))) {
int counter = 1;
PreparedStatement s = conn.prepareStatement("INSERT INTO " + tableName + " VALUES (?, ?)");
while (in.hasNext()) {
s.setInt(1, counter);
s.setString(2, in.next());
s.executeUpdate();
counter++;
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at main.MaakWoordenlijst.fill(MaakWoordenlijst.java:50)
at main.MaakWoordenlijst.main(MaakWoordenlijst.java:27)
[/FOUTMELDING]
alvast bedankt.