Erste Schritte Methodenaufruf, Variablen-Deklaration

GGK_01

Bekanntes Mitglied
Hallo,
ich versuche über den Window Builder meine erste GUI zu entwerfen. Mittels einem Select Statement (JButton "Select") sollen die Ergebnisse in eine JTextArea geschrieben werden.
Ohne GUI funktioniert das Programm soweit.

folgendes Problem:
die Methode Select wird im Programm ohne GUI aus der Main Methode über "mselect(conn)" aufgerufen.
conn ist der ConnectString, der beim Aufruf mitgegeben wird.

Java:
case 's':
//*System.out.println("gewählt wurde Select");
mselect(conn);
break;

Die Methode mselect() wird schaut auszugsweise so aus...
Java:
public static void mselect(Connection conn)
			throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
	{
        Statement stmt = conn.createStatement();


im Window Builder mach ich den Aufruf als ActionEvent vom Button "Suche ausführen":
Java:
	private class Select extends AbstractAction {
		public Select() {
			putValue(NAME, "Suche ausführen");
			putValue(SHORT_DESCRIPTION, "Suche starten");
		}
		public void actionPerformed(ActionEvent e) {
			mselect(conn);
		}
	}

Fehlermeldung GUI:
Cannot resolve the variable "conn"....?

Meine Frage:
wie muss ich den Aufruf "mselect(conn)" in Code ändern, dass der der Klick auf den Button die Select-Methode aufruft?

Danke für Eure Unterstützung

GGK
 
Zuletzt bearbeitet von einem Moderator:

timbeau

Gesperrter Benutzer
Du musst wenn du etwas benutzt(übergibst) das auch initialisieren. Woher soll "conn" kommen?

Entweder irgendwo global Connection conn, oder lokal.
 

irgendjemand

Top Contributor
ich glaube hier müsstest du mal den kompletten code posten anstatt nur die einzelnen teile ... ansonsten kann man nur raten wo die fehler stecken
 
S

SlaterB

Gast
du könntest den Parameter Connection aus der Methode entfernen und dafür sorgen, dass die Connection schon auf andere Weise verfügbar ist,
etwa ein vorher gesetztes Instanzattribut
 

GGK_01

Bekanntes Mitglied
ich wollte ja niemandem mit dem gesamten Code belasten....ganz klar ist mir das noch nicht...

Java:
package DatenbankConnection;

import java.awt.BorderLayout;

public class ConnectionGraph extends JFrame {

	private JPanel contentPane;
	private final Action Select = new Select();
	private final Action Exit = new Exit();
	private JTextArea textEingabe = new JTextArea();
	private JScrollPane scrollPane = new JScrollPane(); 
	

	/**
	 * Launch the application.
	 */
	
	public static void mselect(Connection conn)
			throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
	{
			
		//*System.out.println("Select Statement");
		//* System.out.println("Argument: " +args[0]);
		//*Class.forName("oracle.jdbc.driver.OracleDriver");
   
        Statement stmt = conn.createStatement();
        
        //*Abfrage Anzahl der Ergebnisse
        //*ResultSet rset1 = stmt.executeQuery("select count(*) from test");
        ResultSet rset1 = stmt.executeQuery("select count(*) from test_tbl where add_date >= systimestamp-5");
        rset1.next();
        System.out.println(rset1.getString(1) +" geblockte Studien gefunden");
        
       ResultSet rset = stmt.executeQuery("select * from test_tbl where add_date >= systimestamp-5");
       //*ResultSet rset = stmt.executeQuery("select * from test);
                           
        //Generierung Ouptut Stream
        FileOutputStream fout = new FileOutputStream("D:\\tmp\\JAVA.txt",false);
        
        boolean check = false;
      	//* auslesen der Datensätze aus dem Ergebnis der SQL-Abfrate
    	while (rset.next()) {
        	new PrintStream(fout).println (rset.getString(1) + ";" + rset.getString(2));
       		System.out.println(rset.getString(1)+ ";"+ rset.getString(2));
       		//*System.out.println(rset.next());
       		check = true;
       	}
    
		//*Falls keine Ergebnisse zurückgegeben werden
   		if (!check){
   			System.out.println("nichts gefunden!!");
   		} 

        fout.close();
        stmt.close();
	}
	
	
	
	public static void main(String[] args)
			throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
			{
		    
	 
			Class.forName("oracle.jdbc.driver.OracleDriver");
			String url = "jdbc:oracle:thin:@host_tri34:1521:RIS";
		    	Connection conn = DriverManager.getConnection(url,"xxx","xxx");
	        	conn.setAutoCommit(false);
	
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					ConnectionGraph frame = new ConnectionGraph();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public ConnectionGraph() {
		setTitle("Suche nach geblockten Studien");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 517, 387);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblGeblockteStudienAnzeigen = new JLabel("geblockte Studien anzeigen");
		lblGeblockteStudienAnzeigen.setFont(new Font("Arial", Font.BOLD, 11));
		lblGeblockteStudienAnzeigen.setBounds(10, 1, 165, 24);
		contentPane.add(lblGeblockteStudienAnzeigen);
		
		JButton btnSucheAusfhren = new JButton("Suche ausführen");
		btnSucheAusfhren.setAction(Select);
		btnSucheAusfhren.setBounds(168, 1, 144, 24);
		contentPane.add(btnSucheAusfhren);
		btnSucheAusfhren.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				textEingabe.setText("Test");
				}
		});
		
		
		JTextArea textEingabe = new JTextArea();
		textEingabe.setWrapStyleWord(true);
		textEingabe.setLineWrap(true);
		textEingabe.setBounds(20, 35, 479, 173);
		contentPane.add(textEingabe);
		
		JScrollPane scrollPane = new JScrollPane(textEingabe);
		scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
		scrollPane.setBounds(20, 36, 479, 173);
		contentPane.add(scrollPane);
		
		JButton btnExit = new JButton("Exit");
		btnExit.setAction(Exit);
		btnExit.setBounds(410, 319, 89, 23);
		contentPane.add(btnExit);
		
		
	}
	private class Select extends AbstractAction {
		public Select() {
			putValue(NAME, "Suche ausführen");
			putValue(SHORT_DESCRIPTION, "Suche starten");
		}
		public void actionPerformed(ActionEvent e) {
			mselect(conn);
			textEingabe.setText("Test");
			scrollPane.setToolTipText("Test");
		}
	}
	private class Exit extends AbstractAction {
		public Exit() {
			putValue(NAME, "Exit");
			putValue(SHORT_DESCRIPTION, "Exit Program");
		}
		public void actionPerformed(ActionEvent e) {
			System.exit(0);
		}
	}
}
 
S

SlaterB

Gast
wie gesagt, Connection muss bekannt sein, und als Parameter weg,
speichere doch die Connection von der main-Methode in einer statischen Variablen, dann klappt es überall
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Vererbung Methodenaufruf funktioniert aber Wertzuweisung von Variablen nicht Java Basics - Anfänger-Themen 9
C Methodenaufruf mit Variablen die gesetzt werden Java Basics - Anfänger-Themen 10
C Methodenaufruf mit geänderten Argumenten Java Basics - Anfänger-Themen 10
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
N methodenaufruf for each geht nicht Java Basics - Anfänger-Themen 2
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
O Methodenaufruf Java Basics - Anfänger-Themen 5
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
Queiser Methodenaufruf Java Basics - Anfänger-Themen 2
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
I Java Methodenaufruf Java Basics - Anfänger-Themen 9
A OOP Methodenaufruf in einer anderen Klasse Java Basics - Anfänger-Themen 2
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
M Methodenaufruf in der Main Datei funzt nicht Java Basics - Anfänger-Themen 13
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
M Methodenaufruf in Methode Java Basics - Anfänger-Themen 6
M Objekt Name für MethodenAufruf nachträglich zuweisen? Java Basics - Anfänger-Themen 2
J if() mit Methodenaufruf kombiniert (Pixelerkennung) Java Basics - Anfänger-Themen 3
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
T Rekursiver Methodenaufruf funktioniert nicht Java Basics - Anfänger-Themen 7
D Methoden g.setColor funktioniert nicht bei Methodenaufruf in anderer Klasse Java Basics - Anfänger-Themen 1
M Methoden Methodenaufruf allgemein Java Basics - Anfänger-Themen 3
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
O Methodenaufruf Java Basics - Anfänger-Themen 6
F Methodenaufruf Java Basics - Anfänger-Themen 1
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
J Array mit Methodenaufruf Java Basics - Anfänger-Themen 2
S Problem bei Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 3
OnDemand Methodenaufruf Java Basics - Anfänger-Themen 3
A Methoden Benutzerdefinierter Methodenaufruf Java Basics - Anfänger-Themen 4
O Methodenaufruf - Inhaltsveränderung Java Basics - Anfänger-Themen 23
G Methodenaufruf anderer Klasse Java Basics - Anfänger-Themen 18
L Einfacher Methodenaufruf vs. Objekt Java Basics - Anfänger-Themen 4
O Methodenaufruf im Konstruktor Java Basics - Anfänger-Themen 6
G was ist ein Methodenaufruf mit (){}? Java Basics - Anfänger-Themen 6
S Methoden Klassen Definition - Methodenaufruf Java Basics - Anfänger-Themen 7
K Methoden Methodenaufruf für BufferedWriter .. Java Basics - Anfänger-Themen 5
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
A Problem bei Methodenaufruf Java Basics - Anfänger-Themen 6
B Parameterausführung bei Methodenaufruf Java Basics - Anfänger-Themen 8
A Methodenaufruf Java Basics - Anfänger-Themen 4
S methodenaufruf Java Basics - Anfänger-Themen 8
L Methodenaufruf in main() Java Basics - Anfänger-Themen 3
M Methodenaufruf in for-Schleife - nur 1 mal ausgegeben Java Basics - Anfänger-Themen 3
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
I Methoden Rückverfolgung Methodenaufruf Java Basics - Anfänger-Themen 15
E Methoden Wie kann ich eine Methode so schreiben, dass Methodenaufruf polymorph erfolgen kann? Java Basics - Anfänger-Themen 8
M Methoden Methodenaufruf mit .class. Java Basics - Anfänger-Themen 2
J rekursiver Methodenaufruf Java Basics - Anfänger-Themen 12
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
T Java mehrfacher Methodenaufruf Java Basics - Anfänger-Themen 15
L Methodenaufruf aus anderer Klasse Java Basics - Anfänger-Themen 5
B Quicksort --> Methodenaufruf Java Basics - Anfänger-Themen 10
O Methodenaufruf Java Basics - Anfänger-Themen 4
A nullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 16
J Vererbung, Methodenaufruf Java Basics - Anfänger-Themen 4
M Problem bei Methodenaufruf aus ActionListener Java Basics - Anfänger-Themen 5
G Methodenaufruf aus der Kommandozeile Java Basics - Anfänger-Themen 28
N Methodenaufruf funtioniert nicht Java Basics - Anfänger-Themen 3
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
G Dynamischer Methodenaufruf Java Basics - Anfänger-Themen 3
G Methodenaufruf über ein Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
H ungültige methodenaufruf Java Basics - Anfänger-Themen 16
G Methodenaufruf Java Basics - Anfänger-Themen 3
G Frage zu Oberklasse bei Methodenaufruf Java Basics - Anfänger-Themen 2
V Dynamischer Klassen bzw. Methodenaufruf Java Basics - Anfänger-Themen 6
V Wie und wieso geht dieser Methodenaufruf? Java Basics - Anfänger-Themen 2
S Methodenaufruf Java Basics - Anfänger-Themen 6
G Methodenaufruf in der for-Schleife mit Array Java Basics - Anfänger-Themen 7
L hsqldb Methodenaufruf Java Basics - Anfänger-Themen 10
K synchron und asynchroner Methodenaufruf Java Basics - Anfänger-Themen 17
R Fehler bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 3
T NullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 10
K Klassenübergriefendes Methodenaufruf Problem Java Basics - Anfänger-Themen 6
S methodenaufruf. Java Basics - Anfänger-Themen 16
G methodenaufruf Java Basics - Anfänger-Themen 4
E Methodenaufruf mittels variable? kA Java Basics - Anfänger-Themen 5
G methodenaufruf Java Basics - Anfänger-Themen 3
G methodenaufruf Java Basics - Anfänger-Themen 5
W Überschreiben und Methodenaufruf Java Basics - Anfänger-Themen 3
L Methodenaufruf zwischen Klassen Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben