Problem mit SQL Connection

Status
Nicht offen für weitere Antworten.

Pierro

Mitglied
Moins....

ich schreibe ein Anwendung die mittels GUI auf `ne SQL- Datenbank zugreift. Ist ein Studien- Projekt. Ich hab` nun zum Beispiel folgende Funktion, die auch funktioniert:

Code:
void freieKaefige_actionPerformed(ActionEvent e) {
    try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();

        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT * FROM penAvailability");

        // Daten einlesen und auf dem Bildschirm ausgeben
		textbereich.setText(null);
		int available;
        available = 1;
        while (rs.next())
        {

            if (available == 1)
            {
            	textbereich.append("Verfügbare Käfige: "+ rs.getString("Quantity")+"\t\n");
            	available++;
            }
            else
            textbereich.append( "Belegte Käfige: " + rs.getString("Quantity")+"\t\n");
        }
        //alle Objekte schließen
        st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }
  }

Hier wird das Ganze über einen dropdown-Menüeintrag aktiviert. Ich habe dann zum Beispiel folgende Funktion, die ich bei Bedarf aufrufen möchte und die an einem button auf der GUI hängt:

Code:
void abschicken_entlassen_actionPerformed(ActionEvent e) {
  	
  	try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        String tiernummer2 = kaefignummer_einweisung_combo1.getItemAt(kaefignummer_einweisung_combo1.getSelectedIndex()).toString();
        //Query ausführen
        ResultSet rs;
        textbereich.setText(null);
        st.execute("delete from petpen where penNo = '" + tiernummer2 + "'");
        st.executeUpdate("update pen set penStatus = 'A' where penNo = (select penNo from petpen where petNo = '" + tiernummer2 + "'");
        textbereich.setText("Das Tier mit der Nummer " + tiernummer2 + " wurde erfolgreich entlassen!"); 
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
        textbereich.setText("Die Aktion konnte nicht durchgeführt werden. Bitte überprüfen Sie Ihre Verbindung zur Datenbank.");
    }


  }

Hier krieg ich aber immer `ne NullPointer exception! Also in jder Funktion auf der GUI. Folgende Fehlermeldung kommt dann zum Beispiel:
Code:
java.lang.NullPointerException
        at fenster.abschicken_entlassen_actionPerformed(fenster.java:492)
        at fenster$12.actionPerformed(fenster.java:237)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
86)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1839)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:245)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2
31)
        at java.awt.Component.processMouseEvent(Component.java:5100)
        at java.awt.Component.processEvent(Component.java:4897)
        at java.awt.Container.processEvent(Container.java:1569)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at java.awt.Container.dispatchEventImpl(Container.java:1613)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.NullPointerException
        at fenster.abschicken_entlassen_actionPerformed(fenster.java:492)
        at ActionListener.actionPerformed(fenster.java:660)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
86)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1839)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:245)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2
31)
        at java.awt.Component.processMouseEvent(Component.java:5100)
        at java.awt.Component.processEvent(Component.java:4897)
        at java.awt.Container.processEvent(Container.java:1569)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at java.awt.Container.dispatchEventImpl(Container.java:1613)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

Das Problem ist immer folgende Zeile:

Code:
st = connection.createStatement();

Es wird alles compiliert aber zur Laufzeit dann immer dieser Fehler. Ich weiß einfach nicht woran es liegt zumal es über das Menü ja funktioniert bei anderen Funktionen.

Ich habe auch einige Funktionen geschrieben die ich im Konstruktor aufrufe weil sofort auf der GUI einige Tabellendaten erscheinen sollen. also sowas:

Code:
void kaefignummer_einweisung_combo_auswahl(){
	
try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT penNo FROM pen where penStatus = 'A'");
		String test = "test";
        textbereich.setText(null);
        while (rs.next())
        {
           // kaefignummer_combo.addItem(rs.getString("penNo"));
           kaefignummer_einweisung_combo.addItem(makeObj(rs.getString("penNo")));
          //  textbereich.append( rs.getString("mittel")+"\t\n");
        }
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

  }

Hier kommt dann auch nach Start des Programms gleich die Nullpointer Exception, die sich immer auf die connection- Zeile bezieht.

Ich hoffe die Beschreibung ist ausführlich genug und jemand kann helfen...

Also danke schonmal und gute Nacht...

Gruß Pierre

P.S. Noch was anderes:

Ich hab als Überschriften Buttons genommen. War wahrscheinlich nicht so clever... disabled kann man ja nix mehr lesen ;-) Gibt es ne Möglichkeit einen JButton zu disablen aber im Aussehen nicht zu verändern? Bzw. einfach die Schriftfarbe zu setzen?
 

DP

Top Contributor
dann ist dein connection-object null bzw. closed.

bau mal folgendes für deine connection ein:

Connection conn;
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost/db1?user=1&password=pw");

dann sollte das mit deinem statement klappen.

btw: nicht vergessen, die connection zu töten wenn dein query vorbei ist.

grüße
 

Pierro

Mitglied
Also in einer eigenen Klasse in der ich den login bewerkstellige baue ich die connection so auf:

Code:
try {
    	//JDBC-Treiber-Klasse laden
        Class.forName("com.inet.tds.TdsDriver").newInstance();
	    // Timeout-Wert (Sek.) für Login- und Query setzen
 	    DriverManager.setLoginTimeout(10);
        // Datenbank-Connection herstellen
       Connection connection = DriverManager.getConnection(s_url,"s_username","s_passwort");
        // Datenbank auswählen
       connection.setCatalog("s_dbname");
        frame.connection = connection;
	}
    catch (Exception e) {
        e.printStackTrace();
      //  System.exit(0);
    }

Und das Ganze funktoiniert ja auch für die Methoden, die an Dropdown-Menüpunkten hängen. Kann damit ohne Probleme die Datenbank auslesen. Warum aber ist für die buttons die auf der GUI liegen der Wert NULL? Das kann ich einfach nicht nachvollziehen. der Compiler merkt ja auch nix, connection muss also bekannt sein. Warum ist diese aber leer?
 

Pierro

Mitglied
Ich poste mal den kompletten Quellcode für diese Klasse. Vielelicht sieht ja jemand auf Anhieb warum das Ganze nicht läuft:

Code:
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.*;
import javax.swing.border.*;
import java.sql.*;


/**
 * 

Title: Stationäre Aufnahme von Haustieren</p>
 * 

Description: Es können Tiere Zwingern zugeordnet werden.</p>
 * 

Copyright: Copyright (c) 2004</p>
 * 

Pierre Aden</p>
 * @author Pierre Aden
 * @version 1.0
 */



public class fenster extends JFrame {
	
public static String s_url = "jdbc:inetdae:139.13.31.131:1435";
public static String s_username;
public static String s_password;
private static String s_dbname = "DBXXXXXXX";
public Connection connection;
public Statement st;
  JPanel contentPane;
  JMenuBar jMenuBar1 = new JMenuBar();
  JMenu jMenuFile = new JMenu();
  JMenuItem jMenuFileExit = new JMenuItem();
  JMenu jMenuHelp = new JMenu();
  JMenuItem jMenuHelpAbout = new JMenuItem();
  JMenu anzeigen = new JMenu();
  JMenuItem kaefigBelegung = new JMenuItem();
  JMenuItem freieKaefige = new JMenuItem();
  JMenuItem kaefigDetails = new JMenuItem();
  JTextArea textbereich = new JTextArea();
  JScrollPane ScrPnlItemStock = new JScrollPane(textbereich,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

  JButton belegen = new JButton();
  JButton kaefig_nummer = new JButton();
  JButton belegt_frei = new JButton();
  JComboBox kaefignummer_combo = new JComboBox();
  JComboBox belegt_frei_combo = new JComboBox();
  TitledBorder titledBorder1;
  TitledBorder titledBorder2;
  JButton abschicken_belegt_frei = new JButton();
  JButton einweisen = new JButton();
  JButton kaefig_nummer_einweisung = new JButton();
  JButton tiername_einweisung = new JButton();
  JComboBox kaefignummer_einweisung_combo = new JComboBox();
  JComboBox tiername_einweisung_combo = new JComboBox();
  JButton abschicken_einweisung = new JButton();
  JButton entlassen = new JButton();
  JButton tiername_entlassen = new JButton();
  JButton abschicken_entlassen = new JButton();
  JComboBox kaefignummer_einweisung_combo1 = new JComboBox();
  

  //Construct the frame
  public fenster() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
      
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }

private Object makeObj(final String item)  {
     return new Object() { public String toString() { return item; } };
   }
   
   

  //Component initialization
  private void jbInit() throws Exception  {


    contentPane = (JPanel) this.getContentPane();
    titledBorder1 = new TitledBorder("");
    titledBorder2 = new TitledBorder("");
    contentPane.setLayout(null);
    this.setSize(new Dimension(640, 530));
    this.setTitle("Stationäre Aufnahme");
    jMenuFile.setText("Programm");
    jMenuFileExit.setText("beenden");

    jMenuFileExit.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jMenuFileExit_actionPerformed(e);
      }
    });
    //jMenuFileExit.addActionListener(new fenster_jMenuFileExit_ActionAdapter(this));

    anzeigen.setText("Anzeigen");
    kaefigBelegung.setText("aktuelle Käfigbelegung");
    freieKaefige.setText("Anzahl freier / belegter Käfige");
    kaefigDetails.setText("Käfigdetails anzeigen");

    kaefigBelegung.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        kaefigBelegung_actionPerformed(e);
      }
    });

    freieKaefige.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        freieKaefige_actionPerformed(e);
      }
    });

    kaefigDetails.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        kaefigDetails_actionPerformed(e);
      }
    });

	
    jMenuHelp.setText("Hilfe");
    jMenuHelpAbout.setText("Über");
    jMenuHelpAbout.addActionListener(new fenster_jMenuHelpAbout_ActionAdapter(this));
    // Textbereich anlegen
    textbereich.setDisabledTextColor(Color.black);
    textbereich.setEditable(true);
    textbereich.setText("");
    textbereich.setBounds(new Rectangle(0, 270, 630, 160));
    ScrPnlItemStock.setBounds(new Rectangle(5, 295, 625, 173));
    // Menü anzeigen
    belegen.setBounds(new Rectangle(1, 6, 158, 26));
    belegen.setEnabled(false);
    belegen.setFont(new java.awt.Font("Serif", 1, 14));
    belegen.setForeground(Color.white);
    belegen.setBorder(titledBorder2);
    belegen.setDebugGraphicsOptions(0);
    belegen.setDoubleBuffered(false);
    belegen.setToolTipText("");
    belegen.setContentAreaFilled(true);
    belegen.setDisabledIcon(null);
    belegen.setFocusPainted(true);
    belegen.setRolloverEnabled(false);
    belegen.setText("Käfig belegt / frei");

    kaefig_nummer.setText("Käfignummer");
    kaefig_nummer.setBounds(new Rectangle(0, 35, 157, 30));
    kaefig_nummer.setEnabled(false);
    belegt_frei.setBounds(new Rectangle(166, 35, 151, 30));
    belegt_frei.setEnabled(false);
    belegt_frei.setFont(new java.awt.Font("MS Sans Serif", 0, 11));
    belegt_frei.setText("belegt /frei");
    kaefignummer_combo.setToolTipText("Hier bitte die den zu kennzeichnenden Käfig auswählen");
    kaefignummer_combo.setBounds(new Rectangle(1, 67, 155, 21));
    
    kaefignummer_combo.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        kaefignummer_combo_actionPerformed(e);
      }
    });
    
    
    belegt_frei_combo.setBackground(Color.white);
    belegt_frei_combo.setAlignmentX((float) 0.5);
    belegt_frei_combo.setToolTipText("Käfig als belegt / frei kennzeichnen");
    belegt_frei_combo.setBounds(new Rectangle(166, 67, 152, 20));
    belegt_frei_combo.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        belegt_frei_combo_actionPerformed(e);
      }
    });
    abschicken_belegt_frei.setBounds(new Rectangle(327, 63, 109, 22));
    abschicken_belegt_frei.setFont(new java.awt.Font("Dialog", 1, 11));
    abschicken_belegt_frei.setToolTipText("Auswahl bestätigen und in Datenbank erfassen.");
    abschicken_belegt_frei.setText("Abschicken");
    abschicken_belegt_frei.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        abschicken_belegt_frei_actionPerformed(e);
      }
    });
    einweisen.setText("Tier einweisen");
    einweisen.setBorder(titledBorder2);
    einweisen.setFont(new java.awt.Font("Serif", 1, 14));
    einweisen.setBounds(new Rectangle(1, 107, 158, 26));
    einweisen.setEnabled(false);
    kaefig_nummer_einweisung.setBounds(new Rectangle(0, 136, 154, 30));
    kaefig_nummer_einweisung.setEnabled(false);
    kaefig_nummer_einweisung.setText("Käfignummer");
    tiername_einweisung.setText("Tiernummer");
    tiername_einweisung.setBounds(new Rectangle(167, 136, 151, 30));
    tiername_einweisung.setEnabled(false);
    kaefignummer_einweisung_combo.setToolTipText("Bitte Käfignummer des Käfigs auswählen, ich welchen das Tier eingewiesen " +
    "werden soll.");
    kaefignummer_einweisung_combo.setBounds(new Rectangle(1, 169, 155, 21));
    kaefignummer_einweisung_combo.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        kaefignummer_einweisung_combo_actionPerformed(e);
      }
    });
    tiername_einweisung_combo.setToolTipText("Nr. des Tieres, welches dem Käfig zugeordnet werden soll.");
    tiername_einweisung_combo.setVerifyInputWhenFocusTarget(true);
    tiername_einweisung_combo.setBounds(new Rectangle(167, 169, 152, 19));
    tiername_einweisung_combo.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        tiername_einweisung_combo_actionPerformed(e);
      }
    });
    abschicken_einweisung.setText("Abschicken");
    abschicken_einweisung.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        abschicken_einweisung_actionPerformed(e);
      }
    });
    abschicken_einweisung.setFont(new java.awt.Font("Dialog", 1, 11));
    abschicken_einweisung.setToolTipText("Auswahl bestätigen und in Datenbank erfassen.");
    abschicken_einweisung.setBounds(new Rectangle(327, 167, 109, 22));
    entlassen.setBounds(new Rectangle(-1, 204, 155, 26));
    entlassen.setEnabled(false);
    entlassen.setFont(new java.awt.Font("Serif", 1, 14));
    entlassen.setBorder(titledBorder2);
    entlassen.setText("Tier entlassen");
    tiername_entlassen.setBounds(new Rectangle(2, 233, 151, 30));
    tiername_entlassen.setEnabled(false);
    tiername_entlassen.setAlignmentX((float) 0.0);
    tiername_entlassen.setText("Tiernummer");
    abschicken_entlassen.setBounds(new Rectangle(163, 264, 109, 22));
    abschicken_entlassen.setFont(new java.awt.Font("Dialog", 1, 11));
    abschicken_entlassen.setToolTipText("Auswahl bestätigen und in Datenbank erfassen.");
    abschicken_entlassen.setText("Abschicken");
    abschicken_entlassen.addActionListener(new ActionListener(this));
    abschicken_entlassen.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        abschicken_entlassen_actionPerformed(e);
      }
    });
    kaefignummer_einweisung_combo1.setToolTipText("Name des Tieres, welches aus seinem Käfig entlassen wird.");
    kaefignummer_einweisung_combo1.setBounds(new Rectangle(1, 265, 153, 21));
    kaefignummer_einweisung_combo1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        kaefignummer_einweisung_combo1_actionPerformed(e);
      }
    });
    jMenuFile.add(jMenuFileExit);
    jMenuHelp.add(jMenuHelpAbout);
    // Elemente des Menüs anzeigen
    anzeigen.add(kaefigBelegung);
    anzeigen.add(freieKaefige);
    anzeigen.add(kaefigDetails);
    jMenuBar1.add(jMenuFile);
    jMenuBar1.add(anzeigen);
    jMenuBar1.add(jMenuHelp);
    contentPane.add(kaefig_nummer, null);
    contentPane.add(belegen, null);
    this.setJMenuBar(jMenuBar1);
    this.setResizable(false);
    textbereich.setEnabled(false);
    contentPane.add(belegt_frei, null);
    contentPane.add(abschicken_belegt_frei, null);
    contentPane.add(belegt_frei_combo, null);
    contentPane.add(kaefignummer_combo, null);
    contentPane.add(tiername_entlassen, null);
    contentPane.add(entlassen, null);
    contentPane.add(kaefignummer_einweisung_combo, null);
    contentPane.add(tiername_einweisung_combo, null);
    contentPane.add(kaefig_nummer_einweisung, null);
    contentPane.add(tiername_einweisung, null);
    contentPane.add(kaefignummer_einweisung_combo1, null);
    contentPane.add(einweisen, null);
    contentPane.add(abschicken_entlassen, null);
    contentPane.add(abschicken_einweisung, null);
    contentPane.add(ScrPnlItemStock, null);
    kaefignummer_combo_auswahl();
    belegt_frei_combo_auswahl();
    kaefignummer_einweisung_combo_auswahl();
    tiername_einweisung_combo_auswahl();
    kaefignummer_einweisung_combo1_auswahl();
}
    
  	

  
  //File | Exit action performed
  public void jMenuFileExit_actionPerformed(ActionEvent e) {
    System.exit(0);
  }
  //Help | About action performed
  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
    fenster_AboutBox dlg = new fenster_AboutBox(this);
    Dimension dlgSize = dlg.getPreferredSize();
    Dimension frmSize = getSize();
    Point loc = getLocation();
    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
    dlg.setModal(true);
    dlg.pack();
    dlg.show();
  }
  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      jMenuFileExit_actionPerformed(null);
    }
  }


  void kaefigBelegung_actionPerformed(ActionEvent e) {
    try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();

        //Query ausführen
        ResultSet rs = st.executeQuery("select * from petpen");

        // Daten einlesen und auf dem Bildschirm ausgeben
        // nur Projektname und Mittel werden ausgegeben
		textbereich.setText(null);
		textbereich.append( "Käfignummer	Tiernummer	Einlieferung am		entlassen am		Kommentar"+"\t\n");
		while (rs.next())
        {
        	textbereich.append("    "+ rs.getString("penNo")+"\t");
        	textbereich.append("   "+ rs.getString("petNo")+"\t");
        	textbereich.append(""+ rs.getString("DateIn")+"\t");
        	textbereich.append(""+ rs.getString("DateOut")+"\t");
        	textbereich.append(""+ rs.getString("comments")+"\t\n");
        }
        //alle Objekte schließen
        st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }
  }

// Anzahl der freien / belegten Käfige wird ausgegeben.
void freieKaefige_actionPerformed(ActionEvent e) {
    try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();

        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT * FROM penAvailability");

        // Daten einlesen und auf dem Bildschirm ausgeben
        // nur Projektname und Mittel werden ausgegeben
		textbereich.setText(null);
		int available;
        available = 1;
        while (rs.next())
        {

            if (available == 1)
            {
            	textbereich.append("Verfügbare Käfige: "+ rs.getString("Quantity")+"\t\n");
            	available++;
            }
            else
            textbereich.append( "Belegte Käfige: " + rs.getString("Quantity")+"\t\n");
        }
        //alle Objekte schließen
        st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }
  }

void kaefigDetails_actionPerformed(ActionEvent e) {
    try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();

        //Query ausführen
        ResultSet rs = st.executeQuery("select * from pen");

        // Daten einlesen und auf dem Bildschirm ausgeben
        // nur Projektname und Mittel werden ausgegeben
		textbereich.setText(null);
		textbereich.append( "Käfignummer	Kapazität	Verfügbar/ Nicht verfügbar	Klinik Nr."+"\t\n");
		while (rs.next())
        {
        	textbereich.append("    "+ rs.getString("penNo")+"\t");
        	textbereich.append("   "+ rs.getString("penCapacity")+"\t");
        	textbereich.append("	  		"+ rs.getString("penStatus")+"\t");
        	textbereich.append("	   "+ rs.getString("clinicNo")+"\t\n");
        }
        //alle Objekte schließen
        st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }
  }
  

  void kaefignummer_combo_actionPerformed(ActionEvent e) {
   	  
  }


  void belegt_frei_combo_actionPerformed(ActionEvent e) {

  }

  void kaefignummer_einweisung_combo_actionPerformed(ActionEvent e) {

  }

  void tiername_einweisung_combo_actionPerformed(ActionEvent e) {

  }

  void kaefignummer_einweisung_combo1_actionPerformed(ActionEvent e) {
  	

  }

  void abschicken_belegt_frei_actionPerformed(ActionEvent e) {
  	try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        String nummer1 = kaefignummer_combo.getItemAt(kaefignummer_combo.getSelectedIndex()).toString();
        String belegt_frei1 = belegt_frei_combo.getItemAt(belegt_frei_combo.getSelectedIndex()).toString();
        //Query ausführen
        ResultSet rs;
        textbereich.setText(null);
        if (belegt_frei1.equals("frei"))
        {
        	st.executeUpdate("update pen set penStatus = 'A' where penNo = '" + nummer1 + "'");
        	textbereich.setText("Der Käfig mit der Nummer " + nummer1 + " wurde erfolgreich als " + belegt_frei1 + " gekennzeichnet."); 
    	}
        else
        	{
        	st.executeUpdate("update pen set penStatus = 'N' where penNo = '" + nummer1 + "'");
        	textbereich.setText("Der Käfig mit der Nummer " + nummer1 + " wurde erfolgreich als " + belegt_frei1 + " gekennzeichnet.");	
        	}
        
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
        textbereich.setText("Die Aktion konnte nicht durchgeführt werden. Bitte überprüfen Sie Ihre Verbindung zur Datenbank.");
    }

  } 

  

  void abschicken_einweisung_actionPerformed(ActionEvent e) {
  	try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        String nummer2 = kaefignummer_einweisung_combo.getItemAt(kaefignummer_einweisung_combo.getSelectedIndex()).toString();
        String tiername1 = tiername_einweisung_combo.getItemAt(tiername_einweisung_combo.getSelectedIndex()).toString();
        //Query ausführen
        ResultSet rs;
        textbereich.setText(null);
        st.execute("insert into petPen values('" + nummer2 + "','" + tiername1 +"', '" + "12.5.2004" + "', '',''))");
        st.executeUpdate("update pen set penStatus = 'N' where penNo = '" + nummer2 + "'");
        textbereich.setText("Das Tier mit der Nummer " + tiername1 + " wurde erfolgreich dem Käfig mit der Nummer " + nummer2 + " zugeordnet."); 
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
        textbereich.setText("Die Aktion konnte nicht durchgeführt werden. Bitte überprüfen Sie Ihre Verbindung zur Datenbank.");
    }


  }

  void abschicken_entlassen_actionPerformed(ActionEvent e) {
  	
  	try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        String tiernummer2 = kaefignummer_einweisung_combo1.getItemAt(kaefignummer_einweisung_combo1.getSelectedIndex()).toString();
        //Query ausführen
        ResultSet rs;
        textbereich.setText(null);
        st.execute("delete from petpen where penNo = '" + tiernummer2 + "'");
        st.executeUpdate("update pen set penStatus = 'A' where penNo = (select penNo from petpen where petNo = '" + tiernummer2 + "'");
        textbereich.setText("Das Tier mit der Nummer " + tiernummer2 + " wurde erfolgreich entlassen!"); 
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
        textbereich.setText("Die Aktion konnte nicht durchgeführt werden. Bitte überprüfen Sie Ihre Verbindung zur Datenbank.");
    }


  }

  
  
 void kaefignummer_combo_auswahl(){
 try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT penNo FROM pen");
		String test = "test";
        textbereich.setText(null);
        while (rs.next())
        {
           // kaefignummer_combo.addItem(rs.getString("penNo"));
           kaefignummer_combo.addItem(makeObj(rs.getString("penNo")));
          //  textbereich.append( rs.getString("mittel")+"\t\n");
        }
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

  } 
 
 
 void belegt_frei_combo_auswahl(){
 
        
           // kaefignummer_combo.addItem(rs.getString("penNo"));
           belegt_frei_combo.addItem(makeObj("frei"));
           belegt_frei_combo.addItem(makeObj("belegt"));
          //  textbereich.append( rs.getString("mittel")+"\t\n");
        }
        //alle Objekte schließen
      //  st.close();
   



void kaefignummer_einweisung_combo_auswahl(){
	
try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT penNo FROM pen where penStatus = 'A'");
		String test = "test";
        textbereich.setText(null);
        while (rs.next())
        {
           // kaefignummer_combo.addItem(rs.getString("penNo"));
           kaefignummer_einweisung_combo.addItem(makeObj(rs.getString("penNo")));
          //  textbereich.append( rs.getString("mittel")+"\t\n");
        }
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

  }
  

void tiername_einweisung_combo_auswahl(){
	
try
    {
        //Statement erzeugen
        Statement st = connection.createStatement();
        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT petNo FROM pet");
		String test = "test";
        textbereich.setText(null);
        while (rs.next())
        {
           // kaefignummer_combo.addItem(rs.getString("penNo"));
           kaefignummer_einweisung_combo.addItem(makeObj(rs.getString("petNo")));
          //  textbereich.append( rs.getString("mittel")+"\t\n");
        }
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

  }
  
  
void kaefignummer_einweisung_combo1_auswahl(){
	
try
    {
        
        //Statement erzeugen
        Statement st = connection.createStatement();
        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT petNo FROM pet");
		String test = "test";
        textbereich.setText(null);
        while (rs.next())
        {
           // kaefignummer_combo.addItem(rs.getString("penNo"));
           kaefignummer_einweisung_combo1.addItem(makeObj(rs.getString("petNo,petName")));
          //  textbereich.append( rs.getString("mittel")+"\t\n");
        }
        //alle Objekte schließen
      //  st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

  }
  

	
}

class fenster_jMenuHelpAbout_ActionAdapter implements java.awt.event.ActionListener {
  fenster adaptee;

  fenster_jMenuHelpAbout_ActionAdapter(fenster adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuHelpAbout_actionPerformed(e);
  }


}


	

class ActionListener implements java.awt.event.ActionListener {
  fenster adaptee;

  ActionListener(fenster adaptee) {
    this.adaptee = adaptee;
  }
   public void actionPerformed(ActionEvent e) {
   adaptee.abschicken_entlassen_actionPerformed(e);
    
  }
}

Das Ganze hab ich mit dem JBuilder erstellt.

Diese Methode zum Beispiel funktioniert:

Code:
void freieKaefige_actionPerformed(ActionEvent e)

Dieser hier zum Beispiel nicht:
Code:
void kaefignummer_combo_auswahl()

Ist bestimmt offensichtlich aber ich seh den Wald vor lauter Bäumen nicht....
 

Freakazoid

Mitglied
moin pierre...
klingt verdammt nach db2 bei prof wulff :lol: :lol: :lol:
hehe,hatte ich letztes semester auch.....

hab gerade keine zeit mir das weiter anzuschauen,kann das aber gerne heute abend mal überfliegen,oder sonst morgen....ich schreib dich dann mal über icq an wenn ick was finde,hab dich ja noch von st2 drin :roll:

gr33tz Timo
 
G

Guest

Gast
Hi Timo,

ist ja witzig, Du tummelst Dich auch hier? Die Welt ist klein ;-). Ja, das ist die Aufgabe bei Wulff. Ganz schön viel Arbeit der Kram... und das neben Multimedia. Damit bin ich zum Glück jetzt durch.

Die DB Anwendung läuft einigermaßen bis auf einige Probleme. Manches konnte ich inzwischen schon lösen. Einen connect bekomme ich immerhin aber es tauchen weitere Probleme auf. Wäre nett wenn Du Dir das mal angucken könntest. Sag dann am besten vorher eben Bescheid damit ich Dir den aktuellen Stand zuschicken kann.

Gruß Pierro
 

Jaraz

Bekanntes Mitglied
Pierro hat gesagt.:
Diese Methode zum Beispiel funktioniert:

Code:
void freieKaefige_actionPerformed(ActionEvent e)

Bei dem Quellcode den du gepostet hast, mit Sicherheit nicht.
Es sei denn du öffnest eine Connection von außen, was mich bei deiner Art zu proggen nicht wundern würde.

Pierro hat gesagt.:
Ist bestimmt offensichtlich aber ich seh den Wald vor lauter Bäumen nicht....

Du siehst den Fehler vor lauter schlechtem Code nicht.

Alles in eine Klasse, da kannste auch Shellscripte schreiben.
Ansicht, Datenhaltung und Controller gemischt bis zum geht nicht mehr, wer soll das denn nachher lesen.
Klassen schreibt man klein.

Studierst du wirklich, gibt es zu der Vorlesung eine Internetseite?

Gruß Jaraz
 

Pierro

Mitglied
Kein Grund beleidigend zu werden. Ich habe nie behauptet dass das Programm ein Lehrbeispiel für guten Code ist. Ich hab` die GUI mit JBuilder erstellt und daher war das dann alles eine Klasse. Sicher hätte man das übersichtlicher gestalten können aber da ich ewig nicht programmiert hab` wollte ich mich halt nicht mit den Zugriffsproblemen quälen die ich oft hatte. Das Teil soll nur laufen, ich hab` noch andere Sachen zu tun.

Also bitte konstruktive Vorschläge wie das Problem zu lösen ist oder , auf altkluge Sprüche kann ich gut vezichten. Wenn ich meinen Code bewerten lassen will dann schreib ich das schon.

Außerdem studiere ich Wirtschaftsinformatik und nicht Informatik, ich will also kein Programmierer werden.

Gruß Pierre
 

Jaraz

Bekanntes Mitglied
Hi,

wenn du das als Beleidigung aufgefasst hast, tut mir das leid.
Ich kann nur einfach nicht verstehen warum sich Leute ohne jede Struktur an größere Aufgabestellungen versuchen und sich dann wundern warum das ganze nicht funktioniert und mit Try and Error Stunden verschwenden in denen sie die Prinzipien locker hätten lernen können.

Schlußendlich heißt es dann Java ist eine schlechte Programmiersprache.

Im großen und ganzen ging der Vorwurf an deinen Dozent und nicht an dich, deswegen auch die Frage ob es zu der Vorlesung Materialien im Netz gibt.

Die Lösung wurde schon gepostet, deine Connection ist null und du musst Sie am besten im Konstruktor füllen.

Class.forName("...").newInstance();
connection = DriverManager.getConnection("...");

Die Punkte mit den Werten deines JDBC Treibers füllen.

Gruß Jaraz ;)
 

Pierro

Mitglied
Hi,

unsere Dozenten versuchen und schon das "dirty programming" abzugewöhnen :). Das klappt bei mir halt nicht so wirklich weil ich wie gesagt lange nix mit Java gemacht habe und oft Probleme damit hatte, dass ich auf bestimmte Sachen nicht zugreifen konnte weil ich schlicht vergessen hatte wie es geht. Aus Bequemlichkeit macht man dann halt alles in einer Klasse.

Klar, nicht die beste Methode aber ich programmiere einfach zu selten und vergesse viele Grundlagen daher wieder. Und aus Zeitdruck kann ich das nun auch nicht alles wieder lernen sondern probiere das Programm zum laufen zu bekommen. Wenn ich damit durch bin verspreche ich auch, mir mal über die gundsätzliche Struktur von Programmen Gedanken zu machen ;-). Das kommt in der Tat etwas kurz in Vorlesungen...

back to topic:

Das mit der connection hab` ich nun hinbekommen wenn ich auch noch immer nicht verstanden habe warum die Menüpunkte keine connection aufgebaut haben mussten im Konstruktor sonden auch so funktionieren. Ich habe ja ein Klasse, die den Login bewerkstelligt und die dann die connection aufbaut. Die gepostete Klasse Fenster kann dann aber nix damit anfangen, außer die Menüpunkte eben. Es funktioniert jedenfalls wenn ich der Klasse Fenster im Konstrukter nochmal die connection generiere. Was solls....

Es bleiben noch einige andere Probleme. Ich habe es immerhin endlich hinbekommen ein aktuelles Datum im Format dd.mm.yyyy an sql zu übergeben, bin reichlich stolz auf mich. Wenn mich schon keiner lobt muss ich es eben selber machen :).

Es bleiben 2 größere Probleme:

1. Die Tabellenstruktur gibt vor, dass eine Nummer als char gespeichert wird. Dadurch sortiert sql natürlich so:

1
10
11
.
.
.
2
20
21
.
.
.

usw. Kann ich sql dazu überreden das richtig zu sortieren durch irgendein "order by" oder so oder muss das Feld in der Tabelle integer werden um das zu bewerkstelligen. Das möchte er nicht wegen diverser Fremdschlüssel- Probleme.


2.

Ich habe folgende Funktion, die aus einer Combobox Werte ausliest und daraus ein sql- statement generiert:
Code:
 void abschicken_entlassen_actionPerformed(ActionEvent e) {
  	
  if (kaefignummer_einweisung_combo1.getItemCount() > 0)
	  {
	  	try
	    {
	        //Statement erzeugen
	        Statement st = connection.createStatement();
	        String tiernummer2 = kaefignummer_einweisung_combo1.getItemAt(kaefignummer_einweisung_combo1.getSelectedIndex()).toString();
	        
	        //Query ausführen
	        ResultSet rs;
	        textbereich.setText(null);
	        textbereich.setText("Das Tier mit der Nummer " + tiernummer2 + " wurde erfolgreich entlassen!");
	        st.executeUpdate("update pen set penStatus = 'A' where penNo = (select penNo from petpen where petNo = '" + tiernummer2 + "')");
	        st.execute("delete from petpen where petNo = '" + tiernummer2 + "'");
	        
	        
	        
	        tiername_einweisung_combo.removeAllItems();
	        tiername_einweisung_combo_auswahl();
	        
	        kaefignummer_einweisung_combo.removeAllItems();
	        kaefignummer_einweisung_combo_auswahl();
	        	        
	        kaefignummer_einweisung_combo1.removeAllItems();
           kaefignummer_einweisung_combo1_auswahl();
	         
	        //alle Objekte schließen
	        st.close();
	    }
	    catch (Exception ex)
	    {
	        ex.printStackTrace();
	        textbereich.setText("Die Aktion konnte nicht durchgeführt werden. Bitte überprüfen Sie Ihre Verbindung zur Datenbank.");
	    }
	}

  }

Die Funktion

Code:
kaefignummer_einweisung_combo1.removeAllItems();

verursacht einen Fehler. Anstatt nur den aktuellen Wert aus der Combobox zu lesen und die delete Anweisung durchzuführen werden immer gleich 2 Werte durch die aufrufende Funktion gelöscht. Ich seh einfach nicht, wo ich ihn das Ganze 2 mal durchlaufen lasse?! Hier die Funktion, welche die Combobox füllt:

Code:
void kaefignummer_einweisung_combo1_auswahl(){
	
try
    {
        
        
        //Statement erzeugen
        Statement st = connection.createStatement();
        //Query ausführen
        ResultSet rs = st.executeQuery("SELECT petNo FROM pet where petNo in (select petNo from petpen)");
 
        while (rs.next())
        {
           kaefignummer_einweisung_combo1.addItem(makeObj(rs.getString("petNo")));
        }
        //alle Objekte schließen
        st.close();
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

  }


Kann sich jemand erklären, warum hier 2 Werte gelöscht werden und nicht nur einer? ich lösche doch nur alle items aus der Liste der Combobox und füge dann wieder alle jetzt noch vorhandenen wieder hinzu?

Danke und Gruß

Pierre
 

Jaraz

Bekanntes Mitglied
Pierro hat gesagt.:
Das mit der connection hab` ich nun hinbekommen wenn ich auch noch immer nicht verstanden habe warum die Menüpunkte keine connection aufgebaut haben mussten im Konstruktor sonden auch so funktionieren. Ich habe ja ein Klasse, die den Login bewerkstelligt und die dann die connection aufbaut. Die gepostete Klasse Fenster kann dann aber nix damit anfangen, außer die Menüpunkte eben. Es funktioniert jedenfalls wenn ich der Klasse Fenster im Konstrukter nochmal die connection generiere. Was solls....

Ah, jetzt habe ich auch die Übergabe gefunden. :wink:
frame.connection = connection;

Also ist die Frage warum die connection auf einmal null ist?

Erzeugst du im weiteren Verlauf vielleicht einen zweiten Frame und arbeitest mit dem weiter?
Wird login auch immer vorher aufgerufen? Falls nicht, kommt natürlich keine Verbindung zustande.

Gruß Jaraz
 

Pierro

Mitglied
Einen zweiten Frame baue ich nicht auf, es läuft allem in einem. Mir war wohl einfach nicht klar, dass die connection vorher wieder aufgebaut werden muss... Naja, funzt ja nun, bedankt!

Hast du vielleicht noch `ne Idee die anderen beiden Punkte betreffend?

greetz Pierre
 

Pierro

Mitglied
Yo,

SELECT CONVERT (INTEGER, petNo) as petNo
FROM pet order by petNo

hat den gewünschten Effekt gebracht.

Zum anderen Problem:

Ich hatte 2 action listener an nem Button, daher ist der Kram immer 2 mal ausgeführt worden.

Vielen Dank für die Hilfe, das wars von mir ;-)

greetz Pierro
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
JavaKaffee Derby/JavaDB Quartz-WebAnwendung - Connection/Treiber Problem Datenbankprogrammierung 47
G MySQL Connection Problem Datenbankprogrammierung 3
R Connection Problem für eine externe DB mit Java (JDBC) Datenbankprogrammierung 9
F MySQL - Connection JDBC-Driver Problem Datenbankprogrammierung 4
K Oracle XE Connection Problem Datenbankprogrammierung 2
R Interessantes Problem mit Connection-Pool. Datenbankprogrammierung 2
W Problem bei Connection mit SQLServer-Datenbanke mittels Java Datenbankprogrammierung 2
T problem mit mysql connection Datenbankprogrammierung 6
T JDBC Connection refused Problem Datenbankprogrammierung 6
L DB2 connection problem Datenbankprogrammierung 2
M [MYSQL] Problem mit Connection und Abfrage Datenbankprogrammierung 6
C Problem mit Apache Poi Datenbankprogrammierung 6
N HSQLDB Problem mit Eclipselink in runnable Jar Datenbankprogrammierung 10
P GroupLayout-Problem Datenbankprogrammierung 12
F XAMPP max connections problem Datenbankprogrammierung 6
C MySQL Problem in phpMyAdmin Oberfläche Datenbankprogrammierung 5
C Problem with INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
C Problem with insertion in database. Datenbankprogrammierung 7
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
A kleines Problem Datenbankprogrammierung 6
T Problem mit Datenbankverbindung Datenbankprogrammierung 22
V Derby/JavaDB updateRow Problem Datenbankprogrammierung 0
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
Nuiton EmbeddedDriver Problem Datenbankprogrammierung 6
A MongoDB Passwort Problem Datenbankprogrammierung 0
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
F MySQL JDBC Problem Datenbankprogrammierung 5
Anfänger2011 Datenbankstruktur/aufbau (theoretisches Problem) Datenbankprogrammierung 5
M Derby/JavaDB Drop Database problem Datenbankprogrammierung 3
M Derby/JavaDB NOT LIKE problem Datenbankprogrammierung 19
N HSQLDB Problem mit EntityManager Datenbankprogrammierung 7
B MySQL JPAContainer Problem Datenbankprogrammierung 4
K Eclipse Apache Derby Treiber Problem Datenbankprogrammierung 4
C Problem oder Denkfehler mit H2-Database Datenbankprogrammierung 3
E Wie kann man das Problem mit der BLOB-Spalte lösen? Datenbankprogrammierung 1
M Problem mit jcouchdb und CouchDB - UTF8 kein gültiger Zeichentyp Datenbankprogrammierung 4
T MySQL Problem mit Datenbankanbindung Datenbankprogrammierung 4
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
P SQL Query Problem Datenbankprogrammierung 14
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
B SQLite Problem bei Planung der Datenbank [Jeopardy] Datenbankprogrammierung 3
A Problem mit dem Import und Export von Bildern Datenbankprogrammierung 4
P Oracle Problem mit Umlauten Datenbankprogrammierung 9
A Problem mit Create-Statement Datenbankprogrammierung 9
D Problem mit COLUMN_IDENTIFIERS Datenbankprogrammierung 8
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
M Problem mit mehreren Datasourcen Datenbankprogrammierung 3
R Resultset.last() Problem Datenbankprogrammierung 12
M Problem GroupBy Datenbankprogrammierung 3
S CURRENT_DATE problem Datenbankprogrammierung 2
M Problem mt JPA Id-Generators Datenbankprogrammierung 18
Gossi Oracle Problem mit group by... Datenbankprogrammierung 22
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
R MS-SQL Express Login-Problem Datenbankprogrammierung 8
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
N HSQLDB Problem beim Treiberladen im Jar Datenbankprogrammierung 6
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
M Problem mit HQL Syntax Datenbankprogrammierung 5
K Db4o Delete Problem Datenbankprogrammierung 11
Mike90 Deadlock/Lock Problem Datenbankprogrammierung 4
T Access 32bit on Win7 64Bit ODBC Problem Datenbankprogrammierung 1
C unverständliches DB Problem (Es ist kein temporärer Systemtabellenbereich mit einer ausreichenden..) Datenbankprogrammierung 5
S ODBC Treiber Problem/oder unvermögen Datenbankprogrammierung 18
J Problem bei Boolean in PreparedStatement Datenbankprogrammierung 5
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
K Problem mit Datenbankverbindung via Eclipse Datenbankprogrammierung 2
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
S Oracle Problem mit PreparedStatement.setString(1,"str") Datenbankprogrammierung 10
B MySQL Problem mit Datenbankanbindung an MySQL Datenbankprogrammierung 2
N Problem bei Erstellung eines Index Datenbankprogrammierung 12
C Hibernate Property-Problem Datenbankprogrammierung 5
J MyBatis - Update Problem Datenbankprogrammierung 4
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
c_sidi90 Hibernate Problem Table doesnt excist Datenbankprogrammierung 8
M Problem mit JPA - OneToMany-Relation Datenbankprogrammierung 3
I Hibernate: Composite Foreign Key Problem Datenbankprogrammierung 14
S JPA OptimisticLocking Problem Datenbankprogrammierung 11
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
I Problem mit ResultSet Datenbankprogrammierung 2
L Excel in MySQL importieren Problem Datenbankprogrammierung 5
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
R MS Access mit Java Problem mit Update Statment Datenbankprogrammierung 13
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4
T Problem beim schreiben von daten Datenbankprogrammierung 4
M MySQL getConnection - Verbindung Problem Datenbankprogrammierung 2
K Hibernate + MySQL Problem... Datenbankprogrammierung 2
I MySQL MySQL – Proxy Problem Datenbankprogrammierung 4
M Problem mit Hibernate und Named Query Datenbankprogrammierung 1
M Problem mit Hibernate und Access Datenbankprogrammierung 9
C firebird problem Datenbankprogrammierung 5
F Problem mit Datenbankabfrage Datenbankprogrammierung 7
K SQL Problem mit Date Datenbankprogrammierung 3
jeppi MySQL Design-Problem: DB-Verbindung herstellen und halten - JdbcRowSet / Idle-Timeout? Datenbankprogrammierung 9
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben