daten aus einer datenbank aus lesen und einfügen

Status
Nicht offen für weitere Antworten.

underground

Mitglied
hey leute, ich versuche schon seit ein paar tagen verzweifelt DBdaten in einem frame auszulesen und neue daten in der DB zu speichern.

ich habe es soweit geschafft, dass ich in der classe connect die daten aus dieser DB auslese. aber dann leider nur im application fenster. diese sollen dann aber in einer table in der 2. classe connect_frame ausgelesen werden.

wie bekomme ich das hin???

hier habe ich auch mal den code, den ich schon habe

ich danke schonmal im vorraus!
gruß
underground

classe connect
=========

Code:
import java.sql.*;

public class connect {
	public static void main(String[] args) {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			System.out.println("Treiber konnte nicht geladen werden!");
		}

		Connection cn = null;

		String connectionUrl = "jdbc:sqlserver://127.0.0.1:1433;"
				+ "databaseName=java;user=sa;password=Passwort";

		try {
			cn = DriverManager.getConnection(connectionUrl);
			System.out.println("Verbunden!");
			System.out.println(" ");
		} catch (SQLException e) {
			System.out
					.println("Es konnte keine Verbindung zur Datenbank hergestellt werden!"
							+ e.getMessage());
		}

		Statement state = null;

		try {
			state = cn.createStatement();
		} catch (SQLException e) {
			System.out
					.println("Es konnte leider kein Statement geladen werden!"
							+ e.getMessage());
		}

		String sql = "SELECT * FROM tJava;";

		try {
			ResultSet result = state.executeQuery(sql);

			while (result.next()) {
				final String vorname = result.getString("vorname");
				final String name = result.getString("name");

				System.out.println(vorname + " " + name);
			}
		} catch (SQLException e) {
			System.out.println("Der SQL String ist fehlerhaft!"
					+ e.getMessage());
		} finally {
			if (cn != null) {
				try {
					cn.close();
					System.out.println(" ");
					System.out.println("Verbindung beendet!");
				} catch (SQLException e) {
					System.out
							.println("Die Verbindung konnte nicht beendet werden!"
									+ e.getMessage());
				}
			}
		}
	}
}

classe connect_frame
==============

Code:
import java.awt.*;
import java.awt.event.*;

public class connect_frame extends Frame {

	private Label lblName;

	private Label lblVorname;

	private TextField txtName;

	private TextField txtVorname;

	private Button btnEingabe;

	private Button btnCancel;

	connect_frame(String titel) {
		super(titel);

		this.setLayout(null);

		lblName = new Label("Name:");
		lblName.setBounds(20, 30, 60, 20);

		lblVorname = new Label("Vorname:");
		lblVorname.setBounds(20, 60, 60, 20);

		txtName = new TextField("", 20);
		txtName.setBounds(90, 30, 100, 20);

		txtVorname = new TextField("", 20);
		txtVorname.setBounds(90, 60, 100, 20);

		btnEingabe = new Button("Return");
		btnEingabe.setBounds(20, 90, 60, 20);

		btnCancel = new Button("Cancel");
		btnCancel.setBounds(90, 90, 60, 20);

		this.add(lblName);
		this.add(lblVorname);
		this.add(txtName);
		this.add(txtVorname);
		this.add(btnEingabe);
		this.add(btnCancel);

		btnCancel.addActionListener(new cancel());
	}

	class cancel implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			txtName.setText("");
			txtVorname.setText("");
		}

	}

	public static void main(String[] args) {

		connect_frame frame = new connect_frame(
				"Datenbankanbindung an einen SQL Server");
		frame.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});

		frame.pack();
		frame.setSize(300, 400);
		frame.setVisible(true);
	}

}
 
Code:
package jdbc;
/*
 * ConnectFrame.java
 */
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
public class ConnectFrame extends JFrame {
    private Connection cn;
    private JLabel lblName;
    private JLabel lblVorname;
    private JTextField txtName;
    private JTextField txtVorname;
    private JButton btnEingabe;
    private JButton btnCancel;
    private JTable table;
    private DefaultTableModel model;
    ConnectFrame(final String titel) {
        super(titel);
        setSize(800,600);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        table = new JTable(0,2);
        model = (DefaultTableModel)table.getModel();
        add(new JScrollPane(table));
        JDialog login = new JDialog(this, titel, true);
        login.setLayout(new FlowLayout());
        lblName = new JLabel("Name:");
        lblVorname = new JLabel("Vorname:");
        txtName = new JTextField("", 20);
        txtVorname = new JTextField("", 20);
        btnEingabe = new JButton("Return");
        btnCancel = new JButton("Cancel");
        login.add(lblName);
        login.add(txtName);
        login.add(lblVorname);
        login.add(txtVorname);
        login.add(btnEingabe);
        login.add(btnCancel);
        MeinActionListener al = new MeinActionListener();
        btnEingabe.addActionListener(al);
        btnCancel.addActionListener(al);
        login.setSize(250,200);
        login.setLocationRelativeTo(null);
        login.setVisible(true);
        if(cn == null) System.exit(0);
        display();
    }
    private void display(){
        Statement state = null;
        try {
            state = cn.createStatement();
        } catch (SQLException e) {
            System.out
                    .println("Es konnte leider kein Statement geladen werden!"
                    + e.getMessage());
        }
        String sql = "SELECT * FROM tJava;";
        try {
            ResultSet result = state.executeQuery(sql);
            while (result.next()) {
                final String vorname = result.getString("vorname");
                final String name = result.getString("name");
                System.out.println(vorname + " " + name);
                String[] rowData = new String[]{vorname, name};
                model.addRow(rowData);
            }
        } catch (SQLException e) {
            System.out.println("Der SQL String ist fehlerhaft!"
                    + e.getMessage());
        } finally {
            if (cn != null) {
                try {
                    cn.close();
                    System.out.println(" ");
                    System.out.println("Verbindung beendet!");
                } catch (SQLException e) {
                    System.out
                            .println("Die Verbindung konnte nicht beendet werden!"
                            + e.getMessage());
                }
            }
        }
    }
    public static void main(final String[] args) {
        new ConnectFrame("Datenbankanbindung an einen SQL Server").setVisible(true);
    }
    class MeinActionListener implements ActionListener {
        public void actionPerformed(final ActionEvent e) {
            if(e.getSource() == btnEingabe){
                //TODO: check login
                cn = new Connect().getConnection();
            }
            dispose();
        }
    }
}
class Connect {
    private Connection cn;
    public Connect(){
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException e) {
            System.out.println("Treiber konnte nicht geladen werden!");
        }
        cn = null;
        String connectionUrl = "jdbc:sqlserver://127.0.0.1:1433;"
                + "databaseName=java;user=sa;password=Passwort";
        try {
            cn = DriverManager.getConnection(connectionUrl);
            System.out.println("Verbunden!");
            System.out.println(" ");
        } catch (SQLException e) {
            System.out
                    .println("Es konnte keine Verbindung zur Datenbank hergestellt werden!"
                    + e.getMessage());
        }
    }
    public Connection getConnection() {
        return cn;
    }
}
 
heyy ich danke dir. war jetzt zwar nicht das, was ich mir vorgestellt hatte aber es hat mich sehr weit gebracht.


vielen dank nochmal!!
gruß
tom
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben