Liebe Leute,
ich bin was Java bzw. OOP betrifft ein kompletter Neuling (abgesehen vom 'Herumspielen' mit VB vor vielen Jahren). Allerdings habe ich viel Erfahrung mit PHP - also Programmierung verstehe ich durchaus. Und ich denke, dass ich das Prinzip der OOP auch größtenteils verstanden habe.
Nun möchte ich mich langsam in Java einarbeiten und habe mir als kleines Projekt eine Lagerverwaltung vorgenommen. Dazu brauche ich natürlich eine Datenbank und habe mich für H2 (embedded) entschieden - zugegeben: Google hat mir die Entscheidung abgenommen
.
Dieser Beispielcode funktioniert ohne Probleme:
Dieser allerdings nicht (Exception in thread "main" java.lang.Error: Unresolved compilation problem: Unhandled exception type ClassNotFoundException):
Nun muss ich natürlich Querys dynamisch übergeben können, sonst bringt mir die Datenbank ja nichts. Somit brauche ich eine Möglichkeit, die Datenbank über Methoden anzusprechen.
Wo ist hier mein Denkfehler? Bzw. wie kann man das Problem lösen?
Die 'Applikation' soll im 'Endausbau' über eine grafische Oberfläche bedient werden können, sonst hätte sie ja auch keinen Sinn. Aber das nur am Rande.
Vielen Dank!
ich bin was Java bzw. OOP betrifft ein kompletter Neuling (abgesehen vom 'Herumspielen' mit VB vor vielen Jahren). Allerdings habe ich viel Erfahrung mit PHP - also Programmierung verstehe ich durchaus. Und ich denke, dass ich das Prinzip der OOP auch größtenteils verstanden habe.
Nun möchte ich mich langsam in Java einarbeiten und habe mir als kleines Projekt eine Lagerverwaltung vorgenommen. Dazu brauche ich natürlich eine Datenbank und habe mich für H2 (embedded) entschieden - zugegeben: Google hat mir die Entscheidung abgenommen
Dieser Beispielcode funktioniert ohne Probleme:
Java:
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class H2Class {
/*
public static void main(String[] args) {
H2Class conn = new H2Class();
conn.setConnID();
}
public void setConnID () {
*/
public static void main(String[] a) throws Exception {
Connection conn = null;
try {
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection("jdbc:h2:~./h2", "root", "");
System.out.println(conn);
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Dieser allerdings nicht (Exception in thread "main" java.lang.Error: Unresolved compilation problem: Unhandled exception type ClassNotFoundException):
Java:
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class H2Class {
public static void main(String[] args) {
H2Class connID = new H2Class();
connID.setConnID();
}
public void setConnID () {
//public static void main(String[] a) throws Exception {
Connection conn = null;
try {
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection("jdbc:h2:~./h2", "root", "");
System.out.println(conn);
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Nun muss ich natürlich Querys dynamisch übergeben können, sonst bringt mir die Datenbank ja nichts. Somit brauche ich eine Möglichkeit, die Datenbank über Methoden anzusprechen.
Wo ist hier mein Denkfehler? Bzw. wie kann man das Problem lösen?
Die 'Applikation' soll im 'Endausbau' über eine grafische Oberfläche bedient werden können, sonst hätte sie ja auch keinen Sinn. Aber das nur am Rande.
Vielen Dank!