Hallo ihr lieben,
Ich habe ein Problem...
es gibt Fehler, ich weiß nicht warum, könnte jemand mir helfen.
und mein verkruze code
ich habe die Stelle gefunden warum Fehlermeldung gibt. und zwar
[JAVA=42]prestatement = connection
.prepareStatement("INSERT INTO page " + "VALUES (?,?)");[/code]
ich habe
und die gibt connection: null aus.
Ich habe nicht verstanden warum, weil die Stelle
muss connection schon installiert werden. Und ganz oben habe ich connection Global definiert.
Ich habe ein Problem...
es gibt Fehler, ich weiß nicht warum, könnte jemand mir helfen.
Java:
java.lang.NullPointerException
at Parser.insertValue(Parser.java:136)
at Parser.endElement(Parser.java:248)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at gui.makeDB(gui.java:87)
at Main.main(Main.java:7)
und mein verkruze code
Java:
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.sql.*;
import java.io.*;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
public class gui extends DefaultHandler {
Connection connection;// Die Datenbankverbindung
Statement statement; // Ein SQL-Statement-Objekt
PreparedStatement prestatement;
String driver = "org.postgresql.Driver";
// --------------------------------------------------------------------------
String host = "localhost"; // !!! anpassen !!!
String port = "5432"; // !!! anpassen !!!
String database = "xml"; // !!! anpassen !!!
String user = "postgres"; // !!! anpassen !!!
String password = "eleno308"; // !!! anpassen !!!
// --------------------------------------------------------------------------
// jdbc:postgresql:database
// jdbc:postgresql://host/database
// jdbc:postgresql://host:port/database
public String getUrl() {
return ("jdbc:postgresql:"
+ (host != null ? ("//" + host)
+ (port != null ? ":" + port : "") + "/" : "") + database);
}
public void loadJdbcDriver() {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
System.out.println("driver loaded");
}
public void openConnection() {
try {
connection = DriverManager.getConnection(getUrl(), user, password);
} catch (SQLException e) {
e.printStackTrace();
System.exit(1);
}
System.out.println("connection opened");
}
public void closeConnection() {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
System.exit(1);
}
System.out.println("\nconnection closed");
}
public void makeDB() throws Exception {
loadJdbcDriver();
openConnection();
creatTable();
closeConnection();
}
/* Implementierung JDBC */
public void creatTable() {
try {
statement = connection.createStatement();
statement.execute("DROP TABLE IF EXISTS page");
statement.execute("CREATE TABLE page " + "(title VARCHAR(255), "
+ " id VARCHAR(255), " + " PRIMARY KEY ( id ))");
statement.close();
} catch (SQLException e) {
e.printStackTrace();
System.exit(1);
}
System.out.println("\nCreating table");
}
public void insertValue(String title, String id) {
String abfr;
try {
prestatement = connection
.prepareStatement("INSERT INTO page " + "VALUES (?,?)");
prestatement.setString(1, title);
prestatement.setString(2, id);
prestatement.executeUpdate();
statement.close();
} catch (SQLException e) {
e.printStackTrace();
System.exit(1);
}
System.out.println("\nInsert Value");
}
}
ich habe die Stelle gefunden warum Fehlermeldung gibt. und zwar
[JAVA=42]prestatement = connection
.prepareStatement("INSERT INTO page " + "VALUES (?,?)");[/code]
ich habe
Java:
System.out.println("connection:" + connection);
Ich habe nicht verstanden warum, weil die Stelle
Java:
public void openConnection() {
try {
connection = DriverManager.getConnection(getUrl(), user, password);
} catch (SQLException e) {
e.printStackTrace();
System.exit(1);
}
System.out.println("connection opened");
}
("connection:" + connection);