Hallo Java - Gemeinde,
ich bin mal wieder am rumprobieren. Das Beispiel habe ich aus dem Buch core Java2 und habe es auf meine Bedürfnisse angepasst.
Ich würde gerne (hab's im Source auch markiert Code Zeile 57 und 158) den aktuellen Wert aus der JComboBox auslesen und weiterverwenden. Wie kann ich dies bewerkstelligen.
Vielen lieben Dank für eine kurze Info!
ich bin mal wieder am rumprobieren. Das Beispiel habe ich aus dem Buch core Java2 und habe es auf meine Bedürfnisse angepasst.
Ich würde gerne (hab's im Source auch markiert Code Zeile 57 und 158) den aktuellen Wert aus der JComboBox auslesen und weiterverwenden. Wie kann ich dies bewerkstelligen.
Vielen lieben Dank für eine kurze Info!
Code:
/**
* @author Ich
*
* Folgendes auswählen, um die Schablone für den erstellten Typenkommentar zu ändern:
* Fenster&Benutzervorgaben&Java&Codegenerierung&Code und Kommentare
*/
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class queryDBphprojekt {
public static void main(String[] args) {
JFrame frame = new queryDBphprojektFrame();
frame.show();
}
}
class queryDBphprojektFrame extends JFrame implements ActionListener {
private JComboBox firma;
private JComboBox ansprech;
private JTextField priceChange;
private JTextArea result;
private JComboBox selectedChoice;
private Connection con;
private Statement stmt;
private PreparedStatement firmaQueryStmt;
private PreparedStatement firmaansprechQueryStmt;
private PreparedStatement ansprechQueryStmt;
private PreparedStatement allQueryStmt;
public queryDBphprojektFrame() {
setTitle("QueryDBphprojekt");
setSize(800,600);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{System.exit(0);
}
});
getContentPane().setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
firma = new JComboBox();
firma.setEditable(false);
firma.addItem("Alle");
/* !!! diesen Wert würde ich gerne weiter unten verwenden !!! */
ansprech = new JComboBox();
ansprech.setEditable(false);
ansprech.addItem("Alle");
result = new JTextArea(4,50);
result.setEditable(false);
priceChange = new JTextField(8);
priceChange.setText("-5.00");
try {
con = getConnection();
stmt = con.createStatement();
String query = "SELECT * FROM firma";
ResultSet rs = stmt.executeQuery(query);
while (rs.next())
firma.addItem(rs.getString(1));
query = "SELECT * FROM ansprech";
rs = stmt.executeQuery(query);
while (rs.next())
ansprech.addItem(rs.getString(2)+ ", " + rs.getString(1));
}
catch(Exception e) {
result.setText("Fehler" + e);
}
gbc.fill = GridBagConstraints.NONE;
gbc.weightx = 100;
gbc.weighty = 100;
add(firma, gbc, 0, 0, 2, 1);
add(ansprech, gbc, 2, 0, 2, 1);
gbc.fill = GridBagConstraints.NONE;
JButton queryButton = new JButton("Abfrage");
queryButton.addActionListener(this);
add(queryButton, gbc, 0, 1, 1, 1);
JButton changeButton = new JButton("ändern Preis");
changeButton.addActionListener(this);
add(changeButton, gbc, 1, 1, 1, 1);
gbc.fill = GridBagConstraints.HORIZONTAL;
add(priceChange, gbc, 2, 1, 1, 1);
gbc.fill = GridBagConstraints.BOTH;
add(result, gbc, 0, 2, 4, 1);
}
public static Connection getConnection() throws SQLException, IOException {
Properties props = new Properties();
String fileName = "QueryDB.properties";
FileInputStream in = new FileInputStream(fileName);
props.load(in);
String drivers = props.getProperty("jdbc.drivers");
if (drivers != null)
System.setProperty("jdbc.drivers", drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
if (password == null)
System.setProperty("jdbc.password", null);
return DriverManager.getConnection(url, username, password);
}
private void add(Component c, GridBagConstraints gbc, int x, int y, int w, int h) {
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w;
gbc.gridheight = h;
getContentPane().add(c, gbc);
}
public void actionPerformed(ActionEvent evt) {
String arg = evt.getActionCommand();
if (arg.equals("Abfrage")) {
ResultSet rs = null;
try {
String firmaErg = (String)firma.getSelectedItem();
String ansprechErg = (String)ansprech.getSelectedItem();
if (!firmaErg.equals("Alle") && !ansprechErg.equals("Alle"))
{
if (firmaansprechQueryStmt == null) {
String firmaansprechQuery = "SELECT * FROM firma";
firmaansprechQueryStmt = con.prepareStatement(firmaansprechQuery);
}
firmaansprechQueryStmt.setString(1, firmaErg);
firmaansprechQueryStmt.setString(2, ansprechErg);
rs = firmaansprechQueryStmt.executeQuery();
}
else {
String allQuery = "SELECT * FROM ansprech " +
"WHERE firma like" + ??? Wert aus Combobox ???? + " '%' ";
/* !!! Hier würde ich diesen Wert gernee einsetzen !!! */
allQueryStmt = con.prepareStatement(allQuery);
rs = allQueryStmt.executeQuery();
}
result.setText("");
while (rs.next())
result.append(rs.getString(2) + " , " + rs.getString(1) +
" , " + rs.getString(4) + " , " + rs.getString(5) +
" , " + rs.getString(6) + "\n");
rs.close();
}
catch(Exception e){
result.setText("Fehler" + e);
}
}
}
public void dispose() {
try {
stmt.close();
con.close();
}
catch(SQLException e) {}
}
}