hawkeye78
-
Gesamte Inhalte
75 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von hawkeye78
-
-
Hallo,
ich würde gerne eine kleine Adressenverwaltung schreiben. Dazu habe ich nun 3 Klassen anlegt. In der ersten (aufruf.class) habe ich nun die Mainroutine drin, die alle weiteren Funktionen aufruft. In der zweiten Datei/Klasse (interface.class) liegt die grafische Benutzeroberfläche für die Adressverwaltung. In der dritten Datei (datenbank.class) habe ich nun alle Funktionen zusammengefaßt, welche zum Aufbau/Abbau der Datenbankverbindung etc. benötigt werden.
Als Quellcode gestaltet sich das momentan so (leicht zusammen gekürtzt):
Code:
public class Aufruf
{
public static void main(String args[])
{
Interface i1;
i1=new Interface();
i1.setSize(385,250);
i1.show();
}
}
import java.awt.*;
import java.awt.event.*;
import java.sql.SQLException;
import javax.swing.*;
public class Interface
extends JFrame
implements WindowListener
{
// Erzeugung der Labels
private JLabel LNachname=new JLabel("Nachname: ");
[...]
// Erzeugung der Textfelder
JTextField TNachname=new JTextField(50);
[...]
// Erzeugung der Buttons
private JButton vorwaerts=new JButton(">>>");
[...]
public Datenbank db1;
// Konstruktur für die Klasse Interface
Interface()
{
super("Adressverwaltung mit DB-Zugriff");
try
{
1) db1=new Datenbank();
}
catch(SQLException e)
{
2) this.LMeldung.setText("Zugriff auf die Datenbank ist fehlgeschlagen");
}
}
import java.sql.*;
public class Datenbank
{
Statement statement; // Objekt für den Handle auf die Datenbank
Connection connection; // Objekt für die Verbindung zur Datenbank
ResultSet result; // Ergebnisfeld für die Datenbankabfrage
// Methode zum Aufbau der Verbindung zur Datenbank
public Datenbank()
throws SQLException
{
// Laden des Treibers
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println("Fehler1");
}
// Aufbau der Verbindung zur Datenbank
connection=DriverManager.getConnection("jdbc:odbc:adressen", "Admin","");
// Erstellung des Handle's auf die Datenbank
statement=connection.createStatement();
}
}
Mein Problem ist nun das zwar der Aufruf der GUI ohne Probleme funktioniert, er aber sobald er versucht das Objekt für die Datenbank (siehe Punkt 1) zu initialisieren mit einer SQLException in den Catch-Block läuft (Punkt 2). Ich hatte erst die Vermutung das vielleicht die in Windows eingestellte ODBC Quelle falsch wäre, aber mit einem reinen DOS-Programm wo alle Anweisungen in einer Methode stehen läuft der Zugriff ohne Probleme.
Meine Frage ist daher, wo ist der Fehler? Ich nehme momentan an das irgendwas bei der Initialisierung des Objktes für die Verbindung zur Datenbank falsch läuft, und da ich momentan ziemlich ratlos bin wäre ich über einen entsprechenden Tip sehr dankbar.
Gruß
Dan
Problem mit JDBC oder Ein Objekt zu erzeugen
in Java
Geschrieben
Hallo zirri,
erst einmal danke für dein Antwort, wenn du mir vorher erklärst wie ich mit Eclipse einen Stacktrace ziehen kann, kann ich dir auch gerne diesen noch Posten .
Aber das mit der Fehlermeldung ist genau das was mir sorgen macht, er ruft die GUI auf und zeigt dann an das er wohl in die Catch-Anweisung für die Initialisierung des Objektes (unter Punkt zwei im Quellcode) gelaufen ist.
Und da ich momentan offenbar auch zu blöde bin diesen sch?#!§% Debugger nicht zum laufen bekomme, habe ich auch keine chance noch einmal selbst in den programmablauf hinein zu schauen.
gruss