package schub.main;
import com.mysql.jdbc.Connection;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import schub.io.InPut;
import schub.main.gui.*;
import schub.sql.SQLCommand;
import schub.sql.SQL_InPut;
import schub.sql.Sql;
/**
* Hauptprogramm die graphische Oberfl&che
*
*/
public class Mainprogramm extends JFrame implements ActionListener {
// Auswahbox f&r den Typ des Versuchs;
private JComboBox typ_box;
// normale Buttons
// Zum abschicken des Import befehls
private JButton werte_eintr;
// Panels
// F&r Buttons
private JPanel btn_panel;
// F&r Abfragen
private JPanel abfr_panel;
// F&r Datenbankabfrage
private SchubAbfragePanel dbabfr_panel;
// Panel auf dem das Ergebnis der Datenbankabfrage ausgegeben wird
private JPanel erg_panel;
// Tabelle zum ausgeben der Werte
private JTable werte_tbl;
// Variablen
// F&r die MenuBar
JMenuBar hauptmenu;
// F&r den Typ der Versuchsreihe
private int typ;
// F&r die Abfrage an die Datenbank
int neue_id;
int alte_id;
String tbl;
// F&r die Datenbankverbidnung die aufgebaut werden muss
private Connection conn;
// F&r den Pfad der Eingabedatei
private String eingabeDatei;
// Hashmap Objekt
HashMap<String, String> datenbestand;
/**
* Konstruktor
*
*/
public Mainprogramm() {
super("Auswahlfenster");
// errechnet automatisch die Gr&ße des Fensters anhand der
// Bildschirmgr&ße
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
// setzt die Gr&ße auf 800*600
this.setSize(800, 600);
// positoniert das Fenster
setLocation((d.width - getSize().width) / 2,
(d.height - getSize().height) / 2);
// setzt das Layout des Hauptfensters auf BorderLayout
this.getContentPane().setLayout(new BorderLayout());
// wird Fenster geschlossen wird das komplette Programm beendet
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Fenster ist nicht in der Gr&ße ver&nderbar
this.setResizable(false);
hauptmenu = initMenuBar();
this.setJMenuBar(hauptmenu);
datenbestand = set_Datenbestand();
init_buttons();
init_comboBox();
init_panels();
this.setVisible(true);
}
/**
* Methode die die Panels initalisiert, auf die Contentpane einf> und
* die wichtigsten Komponenten festlegt: z.B Layout
*
*/
private void init_panels() {
btn_panel = new JPanel();
btn_panel.setLayout(new FlowLayout());
this.getContentPane().add(btn_panel, BorderLayout.SOUTH);
abfr_panel = new JPanel();
abfr_panel.setLayout(new BorderLayout());
this.getContentPane().add(abfr_panel, BorderLayout.CENTER);
btn_panel.setLayout(new FlowLayout());
dbabfr_panel = new SchubAbfragePanel(this, datenbestand);
erg_panel = new JPanel();
erg_panel.setLayout(new BorderLayout());
}
/**
* Methode die die Buttons initalisiert, und auf die Contenpane einf>
*/
private void init_buttons() {
werte_eintr = new JButton("Werte eintragen");
werte_eintr.setActionCommand("WERTE EINTRAGEN");
werte_eintr.addActionListener(this);
}
/**
* Methode die die Auswahlbox f&r den Typ der Versuchsreihe
* initalisiert und auf die Contentpane einf>
*
*/
private void init_comboBox() {
typ_box = new JComboBox(new Object[] { "0=mit Buegel mit Vorspannung",
"1=mit Buegel ohne Vorspannung",
"2=ohne Buegel mit Vorspannung",
"3=ohne Buegel ohne Vorspannung" });
}
private void init_tabellen(Vector werte, Vector namen) {
DefaultTableModel defaultTableModel = new DefaultTableModel();
defaultTableModel.setColumnIdentifiers(namen);
defaultTableModel.setDataVector(werte, namen);
werte_tbl = new JTable(defaultTableModel);
TableColumn column = null;
for (int i = 0; i < werte_tbl.getColumnCount(); i++) {
column = werte_tbl.getColumnModel().getColumn(i);
column.setPreferredWidth(100); // sport column is bigger
}
werte_tbl.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
}
/**
*
* @return Objekt vom Typ SchubmenuBar
*/
private JMenuBar initMenuBar() {
return new SchubMenuBar(this);
}
/**
*
* @return Objekt vom Typ AbfrageDaten
*/
private AbfrageDaten set_Datenbestand() {
return new AbfrageDaten();
}
/**
* Methode die alle wichtigen Aktionen an Hand der ActionCommands definiert
*/
public void actionPerformed(ActionEvent ev) {
String action = ev.getActionCommand();
if (action.equals("WERTE_EINTRAGEN")) {
// erzeugt ein Objekt der Klasse einlesen
typ = typ_box.getSelectedIndex() + 1;
if (eingabeDatei != null && conn != null) {
InPut einlesen = new InPut(typ, eingabeDatei, conn);
} else {
JOptionPane.showMessageDialog(this,
"Keine Verbindung zur Datenbank aufgebaut");
}
} else if (action.equals("IMPORT")) {
eingabeDatei = SchubMenuBar.oeffnen(eingabeDatei);
if (eingabeDatei != null) {
btn_panel.add(werte_eintr);
abfr_panel.add(typ_box, BorderLayout.NORTH);
this.validate();
this.repaint();
}
} else if (action.equals("EXIT")) {
System.exit(0);
} else if (action.equals("ABFRAGE")) {
// dbabfr_panel = new SchubAbfragePanel(this,datenbestand);
abfr_panel.add(dbabfr_panel);
this.validate();
this.repaint();
} else if (action.equals("CONNECT")) {
conn = (Connection) Sql.verbindungs_Aufbau(conn);
} else if (action.equals("DISCONNECT")) {
conn = (Connection) Sql.verbindung_trennen(conn);
}
// Command f&r SchubAbfragePanel
else if (action.equals("ABSCHICKEN")) {
String abfrage = "";
dbabfr_panel.get_Werte();
neue_id = Integer.parseInt(datenbestand.get("neue_id"));
alte_id = Integer.parseInt(datenbestand.get("alte_id"));
typ = Integer.parseInt(datenbestand.get("typ"));
tbl = datenbestand.get("tabelle");
if (neue_id != 0 && alte_id != 0) {
JOptionPane
.showMessageDialog(
this,
"Sie können entweder nach einer alten ID oder nach einer neuen ID suchen, aber nicht nach beidem ");
}
if (neue_id != 0 && alte_id == 0) {
// abfrage = SQLCommand.db_Abfrage(neue_id, 0);
abfrage = SQLCommand.db_Abfrage_test(neue_id, 0, tbl);
}
if (alte_id != 0 && neue_id == 0) {
// abfrage = SQLCommand.db_Abfrage(alte_id, typ);
abfrage = SQLCommand.db_Abfrage_test(alte_id, typ, tbl);
SQL_InPut get_new = new SQL_InPut(conn, abfrage);
neue_id = get_new.neue_id();
abfrage = SQLCommand.db_Abfrage_test(neue_id, 0, tbl);
}
SQL_InPut ausgeben = new SQL_InPut(conn, abfrage);
abfr_panel.remove(dbabfr_panel);
Vector namen = ausgeben.spalten_namen();
Vector werte = ausgeben.werte_abfragen();
init_tabellen(werte, namen);
erg_panel.add(new JScrollPane(werte_tbl), BorderLayout.CENTER);
abfr_panel.add(erg_panel);
this.validate();
this.repaint();
}
}
public static void main(String[] args) {
Mainprogramm testen = new Mainprogramm();
}
}
package schub.main.gui;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionListener;
import java.util.HashMap;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
/**
* Klasse f&r das AbfragePanel (DBAbfrage)
*
*/
public class SchubAbfragePanel extends JPanel {
private GridBagLayout layout;
private GridBagConstraints gbc;
// Variablen f& die einzelnen Komponenten
private JLabel text_id_neu;
private JLabel text_id_alt;
private JLabel text_id_alt2;
private JLabel txt_tbl;
private JLabel text_id_info;
private JTextField txt_id_neu;
private JTextField txt_id_alt;
private JButton ok_btn;
// Auswahbox f&r den Typ des Versuchs
private JComboBox typ_box;
// Auswahlbox f&r die Tabelle die abgefragt werden soll
private JComboBox tbl_box;
private ActionListener meinListener;
private String neue_id;
private String alte_id;
private String typ;
// Hashmap f&r das abspeichern der Daten aus dem Formular
private HashMap<String, String> meineDaten;
/**
* Private innere Klasse die das Document Event h&ndelt
*
* @author Natalie Hoyk
* @version 1.0
*/
private class IDNeuDocumentListener implements DocumentListener {
/**
* Wird beim entfernen von Text aufgerufen. Wurde der komplette Text
* gel&scht, wird die ComboBox typ_box deaktiviert.
*
* @param de
*/
public void removeUpdate(final DocumentEvent de) {
if ((de.getLength() > txt_id_alt.getText().length())
&& txt_id_alt.hasFocus()) {
typ_box.setEnabled(false);
}
}
/**
* Wird beim einf&gen von Text aufgerufen. Hier wird die ComboBox
* typ_box automatisch aktiviert.
*
* @param de
*/
public void insertUpdate(final DocumentEvent de) {
if (!typ_box.isEnabled()) {
typ_box.setEnabled(true);
}
}
public void changedUpdate(final DocumentEvent arg0) {
}
}
/**
* Konstruktor
*
* @param action
* Action Listener des Hauptprogramms
* @param data
* Haspmap in die die Werte abgespeichert werden sollen
*/
public SchubAbfragePanel(ActionListener action, HashMap data) {
layout = new GridBagLayout();
this.setLayout(layout);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbc.insets =new Insets(1,1,1,1);
gbc.anchor = GridBagConstraints.WEST;
gbc.weighty=1.0;
meinListener = action;
meineDaten = data;
init_tblBox();
init_labels();
init_textFelder();
init_buttons();
init_ComboBox();
}
/**
* Methode f&r die Labels
*
*/
private void init_labels() {
gbc.gridx=0;
gbc.gridy=0;
gbc.gridheight=1;
txt_tbl = new JLabel("Bitte wählen sie die Tabelle, die sie abfragen wollen aus: ");
layout.setConstraints(txt_tbl, gbc);
this.add(txt_tbl);
gbc.gridx=0;
gbc.gridy=1;
gbc.gridheight=1;
text_id_info = new JLabel(
"Wählen sie bitte aus nach welcher ID sie suchen wollen:");
layout.setConstraints(text_id_info, gbc);
this.add(text_id_info);
gbc.gridx=0;
gbc.gridy=2;
gbc.gridheight=1;
text_id_neu = new JLabel("Nach neuer ID:");
layout.setConstraints(text_id_neu, gbc);
this.add(text_id_neu);
gbc.gridx=0;
gbc.gridy=3;
gbc.gridheight=1;
text_id_alt = new JLabel("Nach alter ID:");
layout.setConstraints(text_id_alt, gbc);
this.add(text_id_alt);
gbc.gridx=0;
gbc.gridy=4;
gbc.gridheight=1;
text_id_alt2 = new JLabel(
"Wenn sie nach einer alten ID suchen wollen geben sie bitte auch den Typ des Versuchs an: ");
layout.setConstraints(text_id_alt2, gbc);
this.add(text_id_alt2);
}
/**
* Methode f&r die Textfelder
*
*/
private void init_textFelder() {
gbc.gridx=1;
gbc.gridy=2;
gbc.gridheight=1;
txt_id_neu = new JTextField(10);
layout.setConstraints(txt_id_neu,gbc);
this.add(txt_id_neu);
gbc.gridx=1;
gbc.gridy=3;
gbc.gridheight=1;
txt_id_alt = new JTextField(10);
layout.setConstraints(txt_id_alt, gbc);
this.add(txt_id_alt);
txt_id_alt.getDocument().addDocumentListener(
new IDNeuDocumentListener());
}
/**
* Methode f&r die Buttons
*
*/
private void init_buttons() {
gbc.gridx=1;
gbc.gridy=5;
gbc.gridheight=1;
ok_btn = new JButton("Abschicken");
ok_btn.addActionListener(meinListener);
ok_btn.setActionCommand("ABSCHICKEN");
layout.setConstraints(ok_btn, gbc);
this.add(ok_btn);
}
/**
* Methode f&r die Combo Box zum ausw&hlen des Typs
*
*/
private void init_ComboBox() {
gbc.gridx=1;
gbc.gridy=4;
gbc.gridheight=1;
// erzeugt die Auswahlbox TypBox
typ_box = new JComboBox(new Object[] { "0=mit Buegel mit Vorspannung",
"1=mit Buegel ohne Vorspannung",
"2=ohne Buegel mit Vorspannung",
"3=ohne Buegel ohne Vorspannung" });
typ_box.setEnabled(false);
layout.setConstraints(typ_box, gbc);
this.add(typ_box);
}
/**
* Methode f&r die Combo Box zum ausw&hlen der Tabelle
*
*/
private void init_tblBox() {
gbc.gridx=1;
gbc.gridy=0;
gbc.gridheight=1;
tbl_box = new JComboBox(new String[] { "Betondruckfestigkeit",
"Betonzugfestigkeit", "Buegelbewehrung",
"Kontrolle_Biegebruch", "Laengsbewehrung", "Laststellung",
"Normalkraft", "Querkraft_PT", "Querschnitte", "Rohdichte",
"Spannstahl", "Verankerung", "Versuch", "Vorspannung" });
layout.setConstraints(tbl_box, gbc);
this.add(tbl_box);
}
// Begin der Getter Methoden
/**
* Methode die die Id ausliest aus dem Textfeld und danach in eine Hashmap
* einf>
*/
public void get_neue_id() {
neue_id = txt_id_neu.getText();
if (neue_id.equals("")) {
neue_id = "0";
} else {
try {
Integer.parseInt(neue_id);
} catch (NumberFormatException ex) {
JOptionPane
.showMessageDialog(this,
"sie haben keine gültige ID eingegeben bitte versuchen sie es erneut");
}
}
/*
* String tmp = txt_id_neu.getText(); if(tmp.equals("")){ neue_id=0;
* }else { neue_id = Integer.parseInt(tmp); }
* System.out.println(neue_id);
*/
meineDaten.put("neue_id", neue_id);
}
private void get_alte_id() {
alte_id = txt_id_alt.getText();
if (alte_id.equals("")) {
alte_id = "0";
} else {
try {
Integer.parseInt(alte_id);
} catch (NumberFormatException ex) {
JOptionPane
.showMessageDialog(this,
"sie haben keine gültige ID eingegeben bitte versuchen sie es erneut");
}
}
/*
* String tmp = txt_id_alt.getText(); if(tmp == ""){ alte_id=0; }else {
* alte_id = Integer.parseInt(tmp); }
*/
meineDaten.put("alte_id", alte_id);
}
private void get_typ() {
int tmp = typ_box.getSelectedIndex() + 1;
typ = "" + tmp;
// System.out.println(typ);
meineDaten.put("typ", typ);
}
private void get_tbl() {
String tbl = "";
int tblid = tbl_box.getSelectedIndex();
switch (tblid) {
case 0:
tbl = "Betondruckfestigkeit";
break;
case 1:
tbl = "Betonzugfestigkeit";
break;
case 2:
tbl = "Buegelbewehrung";
break;
case 3:
tbl = "Kontrolle_Biegebruch";
break;
case 4:
tbl = "Laengsbewehrung";
break;
case 5:
tbl = "Laststellung";
break;
case 6:
tbl = "Normalkraft";
break;
case 7:
tbl = "Querkraft_PT";
break;
case 8:
tbl = "Querschnitte";
break;
case 9:
tbl = "Rohdichte";
break;
case 10:
tbl = "Spannstahl";
break;
case 11:
tbl = "Verankerung";
break;
case 12:
tbl = "Versuch";
case 13:
tbl = "Vorspannung";
break;
}
meineDaten.put("tabelle", tbl);
}
/**
* gesammelter Aufruf aller Getter-Methoden
*
*/
public void get_Werte() {
get_neue_id();
get_alte_id();
get_typ();
get_tbl();
}
}
package schub.sql;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
/**
* Datenbankverbindung an eine MYSQL Datenbank via JDBC Die Klasse stellt zwei
* Methoden bereit eine f&r den Verbindungsaufbau und eine f&r den
* Verbindungsabbau
*
*/
public class Sql {
// Klassenvariablen
static String passwort = "";
static String hostname;
static String port;
static String dbname;
static String benutzer;
static JPasswordField passwortField;
/**
* leerer Standardkonstruktor
*/
public Sql() {
}
/**
* Methode die eine Verbindung mit einer mysql-Datenbank herstellt
*
* @param conn
* Verbindung die aufgebaut werden soll
* @return R&ckgabewert ist eine bestehende Verbindung zur
* gew&nschten Datenbank
*/
public static Connection verbindungs_Aufbau(Connection conn) {
// Dialoge f&r die Abfrage der ben&tigten Komponenten
// JOptionPane ist eine Klasse in Java die viele M&glichkeiten
// bietet
// kleine Informationsdialoge zu schreiben
// Abfrage der einzelnen Komponenten
hostname = JOptionPane
.showInputDialog("Bitte geben sie den Hostnamen ein:");
port = JOptionPane.showInputDialog("Bitte geben sie den Port ein:");
dbname = JOptionPane
.showInputDialog("Bitte geben sie den Datenbanknamen ein:");
benutzer = JOptionPane
.showInputDialog("Bitte geben sie ihren User Namen ein:");
passwortField = new JPasswordField(10);
passwortField.setEchoChar('#');
JOptionPane.showMessageDialog(null, passwortField,
"Bitte geben sie ihr Passwort ein:", JOptionPane.OK_OPTION);
char[] password = passwortField.getPassword();
for (int i = 0; i < password.length; i++) {
passwort += password[i];
}
try {
// System.out.println("* Treiber laden");
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception e) {
JOptionPane
.showMessageDialog(null,
"Der Treiber konnte nicht geladen werden bitte versuchen sie es erneut");
// System.err.println("Unable to load driver.");
// e.printStackTrace();
}
try {
// System.out.println("* Verbindung aufbauen");
String url = "jdbc:mysql://" + hostname + ":" + port + "/" + dbname;
// Verbindungsaufbau
conn = DriverManager.getConnection(url, benutzer, passwort);
// System.out.println("Verbindung aufgebaut");
} catch (Exception e) {
int response = JOptionPane
.showConfirmDialog(
null,
"Es konnte keine Verbindung zur gewünschen Datenbank aufgebaut werden, bitte versuchen sie es erneut",
benutzer, JOptionPane.YES_NO_OPTION);
switch (response) {
case JOptionPane.YES_OPTION:
verbindungs_Aufbau(conn);
case JOptionPane.NO_OPTION:
return null;
}
/*
* JOptionPane.showMessageDialog(null,"Es konnte keine Verbindung
* zur gewünschen Datenbank aufgebaut werden, bitte versuchen sie es
* erneut");
*/
// System.err.println("Unable to connect.");
// e.printStackTrace();
}
return conn;
}
/**
* Methode die die Verbindung zur Datenbank trennt
*
* @param conn
* bestehende Datenbankverbindung die beendet werden soll
*/
public static Connection verbindung_trennen(Connection conn) {
try {
// System.out.println("Verbindung wird getrennt");
// Verbindungsabbau
conn.close();
JOptionPane
.showMessageDialog(null, "Dier Verbindung wurde beendet");
} catch (Exception e) {
JOptionPane
.showMessageDialog(
null,
"Die Verbindung konnte nicht geschlossen werden da eventuell keine Verbindung besteht versuchen sie es bitte erneut");
// System.err.println("Unable to close connection.");
// e.printStackTrace();
}
return conn;
}
}
package schub.sql;
import com.mysql.jdbc.ResultSetMetaData;
import com.sun.org.apache.xalan.internal.xsltc.runtime.Hashtable;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import schub.versuch.Versuch;
/**
* Klasse die die Werte eines Objektes der Klasse Versuch in die Datenbank
* eintr>
*
*/
public class SQL_InPut {
// Variablen
// f&r die Connection
Connection conn = null;
Statement statement;
ResultSet result;
ResultSetMetaData rs;
Versuch versuch;
int typ;
String db_abfrage;
Hashtable versuche;
/**
* Konstruktor bekommt eine Hashtable &bergeben in der Objekte des Typs
* Versuch abgespeichert werden sollen
*
* @param versuche
* Hashtable
* @param typ
* Typ der Versuchsreihe
* @param startwert
* Startwert bei dem die Versuchsnummern beginnen (von uns selber
* vergeben)
*/
public SQL_InPut(Hashtable versuche, int typ, int startwert, Connection conn) {
this.typ = typ;
this.versuche = versuche;
// Verbindung aufbauen
this.conn = conn;
Strings_erzeugen(conn, startwert);
}
public SQL_InPut(Connection conn, String abfrage) {
this.conn = conn;
this.db_abfrage = abfrage;
}
/**
* Methode die die Mysql Befehle erzeigt um diese in der Methode
* werte_eintragen verarbeiten zu k&nnen
*
* @param conn
* aufgebaute Datenbankverbindung
* @param start
* startwert der Versuchsid
*/
public void Strings_erzeugen(Connection conn, int start) {
// Startwert bei dem die Versuchsnummern beginnen
int id = hole_start_id(conn);
// Holt sich nacheinander die Objekte vom Typ Versuch mit der Nummer
// start_w aus der Hashtable raus
for (int i = start, j = 0; i <= versuche.size(); i++, j++) {
Object o = versuche.get("Versuch" + i);
versuch = (Versuch) o;
if (typ == Versuch.B0V0) {
// System.out.println(SQLCommand.versuch(0, 0,
// versuch.versuch));
werte_eintragen(conn, SQLCommand.versuch(0, 0, versuch.versuch));
werte_eintragen(conn, SQLCommand.querschnitte(0, 0,
versuch.querschnitte, id + j));
werte_eintragen(conn, SQLCommand.laststellung(0, 0,
versuch.laststellung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung(0, 0,
versuch.laengsbewehrung, id + j));
werte_eintragen(conn, SQLCommand.betondruckfestigkeit(0, 0,
versuch.betondruckfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.rohdichte(0, 0,
versuch.rohdichte, id + j));
werte_eintragen(conn, SQLCommand.betonzugfestigkeit(0, 0,
versuch.betonzugfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.kontrolle_biegebruch(0, 0,
versuch.kontrolle_biegebruch, id + j));
werte_eintragen(conn, SQLCommand.verankerung(0, 0,
versuch.verankerung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung_update(0, 0,
versuch.laststellung[3], id + j));
werte_eintragen(conn, SQLCommand.versuch_update(0, 0,
versuch.kontrolle_biegebruch[0], id + j));
} else if (typ == Versuch.B0V1) {
werte_eintragen(conn, SQLCommand.versuch(0, 1, versuch.versuch));
werte_eintragen(conn, SQLCommand.querschnitte(0, 1,
versuch.querschnitte, id + j));
werte_eintragen(conn, SQLCommand.laststellung(0, 1,
versuch.laststellung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung(0, 1,
versuch.laengsbewehrung, id + j));
werte_eintragen(conn, SQLCommand.spannstahl(0, 1,
versuch.spannstahl, id + j));
werte_eintragen(conn, SQLCommand.vorspannung(0, 1,
versuch.vorspannung, id + j));
werte_eintragen(conn, SQLCommand.normalkraft(0, 1,
versuch.normalkraft, id + j));
werte_eintragen(conn, SQLCommand.betondruckfestigkeit(0, 1,
versuch.betondruckfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.betonzugfestigkeit(0, 1,
versuch.betonzugfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.kontrolle_biegebruch(0, 1,
versuch.kontrolle_biegebruch, id + j));
werte_eintragen(conn, SQLCommand.verankerung(0, 1,
versuch.verankerung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung_update(0, 1,
versuch.laststellung[4], id + j));
} else if (typ == Versuch.B1V0) {
werte_eintragen(conn, SQLCommand.versuch(1, 0, versuch.versuch));
werte_eintragen(conn, SQLCommand.querschnitte(1, 0,
versuch.querschnitte, id + j));
werte_eintragen(conn, SQLCommand.laststellung(1, 0,
versuch.laststellung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung(1, 0,
versuch.laengsbewehrung, id + j));
werte_eintragen(conn, SQLCommand.druckbewehrung(1, 0,
versuch.druckbewehrung, id + j));
werte_eintragen(conn, SQLCommand.buegelbewehrung(1, 0,
versuch.buegelbewehrung, id + j));
werte_eintragen(conn, SQLCommand.betondruckfestigkeit(1, 0,
versuch.betondruckfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.betonzugfestigkeit(1, 0,
versuch.betonzugfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.mechanischerBewehrungsgrad(1,
0, versuch.mechanischer_bewehrungsgrad, id + j));
werte_eintragen(conn, SQLCommand.kontrolle_biegebruch(1, 0,
versuch.kontrolle_biegebruch, id + j));
werte_eintragen(conn, SQLCommand.querkraft_pt(1, 0,
versuch.querschnitte_pt, id + j));
werte_eintragen(conn, SQLCommand.verankerung(1, 0,
versuch.verankerung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung_update(1, 0,
versuch.laststellung[5], id + j));
werte_eintragen(conn, SQLCommand.rohdichte_update(1, 0,
versuch.betondruckfestigkeit[12], id + j));
} else if (typ == Versuch.B1V1) {
werte_eintragen(conn, SQLCommand.versuch(1, 1, versuch.versuch));
werte_eintragen(conn, SQLCommand.querschnitte(1, 1,
versuch.querschnitte, id + j));
werte_eintragen(conn, SQLCommand.laststellung(1, 1,
versuch.laststellung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung(1, 1,
versuch.laengsbewehrung, id + j));
werte_eintragen(conn, SQLCommand.druckbewehrung(1, 1,
versuch.druckbewehrung, id + j));
werte_eintragen(conn, SQLCommand.spannstahl(1, 1,
versuch.spannstahl, id + j));
werte_eintragen(conn, SQLCommand.vorspannung(1, 1,
versuch.vorspannung, id + j));
werte_eintragen(conn, SQLCommand.normalkraft(1, 1,
versuch.normalkraft, id + j));
werte_eintragen(conn, SQLCommand.buegelbewehrung(1, 1,
versuch.buegelbewehrung, id + j));
werte_eintragen(conn, SQLCommand.betondruckfestigkeit(1, 1,
versuch.betondruckfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.betonzugfestigkeit(1, 1,
versuch.betonzugfestigkeit, id + j));
werte_eintragen(conn, SQLCommand.mechanischerBewehrungsgrad(1,
1, versuch.mechanischer_bewehrungsgrad, id + j));
werte_eintragen(conn, SQLCommand.kontrolle_biegebruch(1, 1,
versuch.kontrolle_biegebruch, id + j));
werte_eintragen(conn, SQLCommand.verankerung(1, 1,
versuch.verankerung, id + j));
werte_eintragen(conn, SQLCommand.querkraft_pt(1, 1,
versuch.querschnitte_pt, id + j));
werte_eintragen(conn, SQLCommand.rohdichte_update(1, 1,
versuch.betondruckfestigkeit[11], id + j));
}
}
}
/**
* Holt sich die letzte vergebene id der Tabelle Versuch aus der Datenbank
* und erzeugt die Startid f&r den neuen Versuch
*
* @param conn
* aufgebaute Datenbankverbindung
* @return die neue id
*/
public int hole_start_id(Connection conn) {
String vers_id = "SELECT versuch_id FROM Versuch;";
int alte_id = 1;
try {
Statement statement = conn.createStatement();
ResultSet res = statement.executeQuery(vers_id);
if (!res.next()) {
alte_id = 0;
} else {
while (res.next()) {
alte_id += 1;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return alte_id + 1;
}
/**
* Tr> die Werte in die Datenbank ein
*
* @param conn
* aufgebaute Datenbankverbindung
* @param str
* Mysql Befehl
*/
public void werte_eintragen(Connection conn, String str) {
try {
Statement statement = conn.createStatement();
int result = statement.executeUpdate(str);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Vector spalten_namen() {
// System.out.println(str);
Vector<String> namen = null;
try {
statement = conn.createStatement();
result = statement.executeQuery(db_abfrage);
rs = (ResultSetMetaData) result.getMetaData();
int numCols = rs.getColumnCount();
namen = new Vector<String>();
// namen = new String[numCols];
for (int i = 1; i <= numCols; i++) {
// int ct = rs.getColumnType(i); //
namen.add(rs.getColumnName(i));
// String ctn = rs.getColumnTypeName(i);
// System.out.println("Spalte Nr" + i + ": "
// + namen[i-1] + " of type "
// + ctn + "(JDBC-Typ: " + ct + ")");
// System.out.print(namen[i - 1] + "\t\t");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return namen;
}
public Vector werte_abfragen() {
Vector ret = new Vector();
Vector<String> werte = null;
try {
statement = conn.createStatement();
result = statement.executeQuery(db_abfrage);
rs = (ResultSetMetaData) result.getMetaData();
int numCols = rs.getColumnCount();
werte = new Vector<String>();
while (result.next()) {
for (int k = 1; k <= numCols; k++) {
werte.add(result.getString(k));
}
// System.out.println(result.getString(1));
// System.out.println(result.getString(6));
// System.out.println(result.getString(4));
// String autor = result.getString("Autoren");
// System.out.println(autor);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ret.add(werte);
return ret;
}
public int neue_id() {
System.out.println(db_abfrage);
int id = 0;
try {
statement = conn.createStatement();
result = statement.executeQuery(db_abfrage);
while (result.next()) {
id = result.getInt("versuch_id");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return id;
}
}
werte_eintragen(conn, SQLCommand.versuch(1, 0, versuch.versuch));
werte_eintragen(conn, SQLCommand.querschnitte(1, 0,
versuch.querschnitte, id + j));
werte_eintragen(conn, SQLCommand.laststellung(1, 0,
versuch.laststellung, id + j));
werte_eintragen(conn, SQLCommand.laengsbewehrung(1, 0,
versuch.laengsbewehrung, id + j));
werte_eintragen(conn, SQLCommand.druckbewehrung(1, 0,
versuch.druckbewehrung, id + j));
werte_eintragen(conn, SQLCommand.buegelbewehrung(1, 0,
versuch.buegelbewehrung, id + j));
...