Sql Anfrage wirft Exception

Status
Nicht offen für weitere Antworten.

metalfan

Aktives Mitglied
Code:
	if (obj instanceof JButton)
    	{
    		System.out.println("Ereignis");
    		if (event.getActionCommand()=="suchen")
    		{
    		
    			
    			String eingabelaenge = textfield1.getText();
            	if (eingabelaenge.length() < 3) 
        		{
    				JOptionPane.showMessageDialog(this,
    						"Minimale Eingabe: 3 Zeichen.");
        		}
            	else
            	{
            		// Suchanfrage
            		Sql query = new Sql();
            		ResultSet test = query.search(textfield1.getText());
            		try 
            		{
            			while(test.next())
            			{
            			  
            				String surname = test.getString("Surname");
            				String firstname = test.getString("First Name");
            				String titel = test.getString("Titel");
            				String type = test.getString("Type");
            				System.out.print("Surname: "+surname+" -----First Name:----- "+firstname+
            						" -----Titel:----- "+titel+"----- Typ:----- "+type+"\n");
            			}
            		}
            	  	catch( Exception e ) 
            	  	{
            	  		e.printStackTrace();
            	  	}
            	}





import java.sql.*;

public class Sql 
{
	ResultSet rs;
  
	public static void main(String args[])
	{

	  	}
  	
	public ResultSet search(String suche)
	{
		try 
		{
			Statement stmt;
			//ResultSet rs;
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://localhost:3306/stahl";
			Connection con =  DriverManager.getConnection(url,"buch", "buch");
			stmt = con.createStatement();
			//rs = stmt.executeQuery("select * from Book B, Item I WHERE B.Itemidentity = I.Identity");
			
			rs = stmt.executeQuery("SELECT Surname, `First Name`, Type, Titel " +
					"FROM `Item_All_Author`, Author, Item, Mediatype " +
					"WHERE (((`Item_All_Author`.AuthorIdentity = Author.Identity) " +
					"AND (`Item_All_Author`.ItemIdentity = Item.Identity) " +
					"AND (Item.MediatypeIdentity = Mediatype.Identity)) " +
		  			"AND ((Author.Surname = '"+suche+"') OR (Author.`First Name` = '"+suche+"')))");
		  
			con.close();
		}
	  	catch( Exception e ) 
	  	{
	  		e.printStackTrace();
	  	}
	  	return rs;
  	}
}


java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:639)
at com.mysql.jdbc.ResultSet.next(ResultSet.java:6116)
at UsingLayoutManagers.actionPerformed(UsingLayoutManagers.java:330)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Diese kleine Fehlermeldung wirft mir java aus wenn das Ereignis ausgelöst wird...
Passieren soll folgendes: Eingabe auslesen, Instanz der Klasse Sql erstellen, suche(); Ergebnis ausgeben.
Ab wann ist ein resultset closed?


Julius
 

metalfan

Aktives Mitglied
Code:
public ResultSet search(String suche)
	{
		try 
		{
			Statement stmt;
			//ResultSet rs;
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://localhost:3306/stahl";
			Connection con =  DriverManager.getConnection(url,"buch", "buch");
			stmt = con.createStatement();
			//rs = stmt.executeQuery("select * from Book B, Item I WHERE B.Itemidentity = I.Identity");
			
			rs = stmt.executeQuery("SELECT Surname, `First Name`, Type, Titel " +
					"FROM `Item_All_Author`, Author, Item, Mediatype " +
					"WHERE (((`Item_All_Author`.AuthorIdentity = Author.Identity) " +
					"AND (`Item_All_Author`.ItemIdentity = Item.Identity) " +
					"AND (Item.MediatypeIdentity = Mediatype.Identity)) " +
		  			"AND ((Author.Surname = '"+suche+"') OR (Author.`First Name` = '"+suche+"')))");
			return rs;
		  	con.close();
		}
	  	catch( Exception e ) 
	  	{
	  		e.printStackTrace();
	  	}
	  	
  	}

setze ich return rs; con.close(); geht nichts mehr:
1. Eclipse mekert das diese Methode ein Ergebnis von Typ ResultSet zurückgeben
2. con.close(); - unerreichbarer code?

return rs; sollte doch funktionieren da rs noch nicht geschlossen ist und erreichbar ist oder nicht?

Julius
 

AlArenal

Top Contributor
Natürlich macht das keinen Sinn. Nach einem return kann nichts mehr in einer Methode ausgeführt werden, weil der Programmablauf ja zur aufrufenden Methode zurückkehrt (aka "returnt")...
 

metalfan

Aktives Mitglied
Da die Abfragen in einer anderen Klasse als die GUI Darstellung stattfinden soll kam mir der oben vorgestellte Gedanke alles in die Abfrage Methode reinzupacken, liegt es am typ ResutSet das dies nicht klappt?
es muss doch möglich sein innerhalb dieser Methode if abfragen einzusetzen?

Julius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Sql Anfrage nach einer Zeile beenden Datenbankprogrammierung 6
J Optimierung von Querys/ ausgegebene Tabelle mit in neue Anfrage einbinden Datenbankprogrammierung 2
m²labs Muss ich wirklich bei jeder Anfrage öffnen/schließen? Datenbankprogrammierung 3
N Bei Anfrage "MySQLNonTransientConnectionException" Datenbankprogrammierung 5
T Spalten einer SQL-Anfrage vorhersagen Datenbankprogrammierung 6
W Problem mit Anfrage an DB2 Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
B ResultSet wirft komische NullPointerException. Datenbankprogrammierung 3
I MySQL MATLAB: Class.forName wirft ClassNotFoundException Datenbankprogrammierung 4
O Oracle 11g wirft bei 90 % der installation eine Exception ? Datenbankprogrammierung 5
KOKASS Exception bei Datenbankconnect Datenbankprogrammierung 9
Kirby.exe SQL-Exception: Column not found Datenbankprogrammierung 6
S MySQL hibernate exception: illegal state exception : entityManagerFactory is closed Datenbankprogrammierung 5
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
G PostgreSQL Nach Monaten auf einmal ClassNotFound-Exception Datenbankprogrammierung 3
K JPA Projekt Exception Datenbankprogrammierung 7
C jpa, exception Predeployment of PersistenceUnit failed Datenbankprogrammierung 1
M CommunicationLinkError - NullPointer Exception Datenbankprogrammierung 11
T MongoDB: Morphia REST 505 Exception Tomcat Datenbankprogrammierung 2
M SQL-Exception trotz funktionierendem SELECT Datenbankprogrammierung 4
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
M SQL Exception Datenbankprogrammierung 6
L Probleme mit DriverManager.getConnection(..) - Endlosschleife, Java Absturz, Keine Exception Datenbankprogrammierung 4
D Hibernate SaveOrUpdate Exception Datenbankprogrammierung 2
E MySQL Hibernate mit JaxWS führt zu LazyInitialization Exception Datenbankprogrammierung 8
E PostgreSQL Exception too ...many clients already bei DB-Abfrage Datenbankprogrammierung 14
T java sql exception getDate() Datenbankprogrammierung 2
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
E Sql Exception Datenbankprogrammierung 14
M NestedTransaction- Exception in Hibernate Datenbankprogrammierung 15
F Derby/JavaDB SQL-Exception...Aber wieso!? :/ Datenbankprogrammierung 2
T Exception ResultSet Datenbankprogrammierung 7
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
S Null Pointer exception statement Datenbankprogrammierung 8
G JDBC Exception Datenbankprogrammierung 3
S ResultSet einer Datenbankabfrage - Nullpointer Exception Datenbankprogrammierung 13
F Derby/JavaDB Exception - Cannot accept Null Value (help) Datenbankprogrammierung 10
G Stored Procedure Exception Handling Datenbankprogrammierung 3
C SQL Exception auf Unique überprüfen Datenbankprogrammierung 5
B Hibernate+JPA Exception in persistence.xml Datenbankprogrammierung 5
L SQL Exception Problem Datenbankprogrammierung 7
M hilfe zur einer Exception Datenbankprogrammierung 2
J Nullpointer Exception bei Zugriff auf Datenbank Datenbankprogrammierung 13
A MySQL Anbindung - Exception Handling Datenbankprogrammierung 2
R SQL Exception: Cursor position not valid Datenbankprogrammierung 7
R Warum kommt eine Exception bei instanceof ? Datenbankprogrammierung 4
B SQL Exception Datenbankprogrammierung 9
E Datenbankverbindung Java MySQL Exception Datenbankprogrammierung 10
N Class not found Exception Datenbankprogrammierung 2
A Exception in thread "AWT-EventQueue-0" java.lang.N Datenbankprogrammierung 4
M SQL Exception bei LIMIT Datenbankprogrammierung 11
megachucky Problem mit: SQL Exception Before start of result set Datenbankprogrammierung 2
W updateRow() schmeißt eine Exception, weil schreibgeschützt Datenbankprogrammierung 6
6 Communications link failure due to underlying exception Datenbankprogrammierung 10
R SQL Exception "Weiterleiten der Egebnissmenge" Datenbankprogrammierung 15
märliprinz Exception in thread "main" java.lang.OutOfMemoryEr Datenbankprogrammierung 9
S Java SQL-Exception bei Zugriff auf MSAccess Datenbankprogrammierung 2
K Exception bei Verbindungsaufbau Oracle Datenbank Datenbankprogrammierung 13
L "desc tablename" liefert SQL Exception mit execute Datenbankprogrammierung 6
M SQL Exception Datenbankprogrammierung 3
M Problem mit dem ActionListener und SQL Exception Datenbankprogrammierung 6
D Exception bei ResultSet.moveToInsertRow Datenbankprogrammierung 6
EagleEye problem mit exception Datenbankprogrammierung 2
L UPDATE löst Exception aus Datenbankprogrammierung 6
V Exception beim Speichern von eingegebenen Daten in Tabelle Datenbankprogrammierung 2
G ich bekomm immer die exception grrrr Datenbankprogrammierung 3
D Unklare SQL Exception Datenbankprogrammierung 3

Ähnliche Java Themen


Oben