Home
/
JavaForum
/
JDBC
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.407 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 268 von 277 (97%)
Autor
Marko
Datum
20.06.06, 15:23
Betreff
Connection con Referenzproblem
Hallo alle zusammen!
Ich muss eine Klausurverwaltung schreiben, die möchte ich mit einer JDBC Anbindung gestalten. Die Anbindung an die Datenbank klappt soweit, nur leider habe ich Probleme mit den SQL Statements..
Bisher habe ich folgende Aufteilung:
1) DatenbankKlasse ist lediglich fuer die Connection der Datenbank zuständig
2) In der (Fach)klasse StudentenAnzeigen soll lediglich das SQL Statement ausgeführt werden
Hier die Datenbankklasse für den Verbindungsaufbau:
import java.sql.*;
public class DatenbankKlasse {
/**
* Stellt die Verbindung zur Datenbank her
*/
private Connection con = null;
private String url = "jdbc:odbc:Klausurverwaltung";
private String treiber = "sun.jdbc.odbc.JdbcOdbcDriver";
/**
* Konstruktor
*/
public DatenbankKlasse(){
}
/**
* Öffnet die Verbindung.
*/
public void open() {
try {
Class.forName(treiber);
con = DriverManager.getConnection(url);
System.out.println("Anbindung erfolgreich!");
}
catch (Exception e) {
System.out.println("Verbindung zu \"" + url +"\" konnte nicht hergestellt werden.");
System.exit(1);
}
}
/**
* Schliesst die Verbindung.
*/
public void close() {
try {
con.close();
}
catch (SQLException e) {
}
}
}
Und hier die Klasse zeigeStudenten
import java.sql.*;
public class zeigeStudent {
//Konstruktor, erbt von der Vaterklasse den Verbindungsaufbau
public zeigeStudent() {
}
// Methode die das SQL Statement implementiert
public String zeigStudent()
{
String ausgabe = "";
Connection con = null;
Statement stmt;
ResultSet rs;
int matrikelnr;
String name;
String vorname;
String geburtsdatum;
String adresse;
String geschlecht;
String telefon;
try
{
stmt = con.createStatement();
rs = stmt.executeQuery ("SELECT * FROM Student ORDER BY Name");
while (rs.next())
{
ausgabe = ausgabe + rs.getString(1) + "\t" + rs.getString(2) + "\t" + "\t" + rs.getString(3) + "\t" + rs.getString(4) + rs.getString(5) + "\t" + rs.getString(6) + "\t" + rs.getString(7) + "\n";
System.out.println(ausgabe);
}
// Schliessen des Statements
stmt.close();
//Schliessen der Verbindung
con.close();
}
catch (Exception ex)
{
System.out.println("Exception: " + ex.getMessage());
}
return ausgabe;
}
public static void main (String[] args) {
DatenbankKlasse eineVerbindung = new DatenbankKlasse();
eineVerbindung.open();
zeigeStudent einStudent = new zeigeStudent();
einStudent.zeigStudent();
}
}
Die main - methode ist nur als Test gedacht um zu sehen ob er was zurückgibt. Die Anbindung meldet er erfolgreich, doch statt den Daten aus der DB kommt "Exception: null"
ich denke es liegt an der Connection con oder so, das ich in der Klasse zeigeStudenten neu initialisier... müsste ich "con" direkt aus der Datenbankklasse beziehen, und falls ja, wie??
Mach hier schon seit 3 Stunden rum, bald ist Fussballspiel... aah bitte helfen
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com