in MySQL Daten Bank speichern

somahu

Mitglied
Abend, Ich hab ein Geometric Calculator Programmiert, ich will dass, die werte die in der Tabelle gespeichert werden, in einer MSQL Daten Bank auch gespeichert werden.
Ich hab eine Tabelle gebaut mit MySQL workbench aber ich kriege es nicht hin die werte auch da zu speichern/zu sehen !
vielen dank für eure Hilfe

GUI:
Java:
package de.sbsapp.examples.geometriccalculator.gui;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;

import de.sbsapp.examples.geometriccalculator.jtrainertablemodel.JTrainerTableModel;
import de.sbsapp.examples.geometriccalculator.model.Circle;
import de.sbsapp.examples.geometriccalculator.model.Geometrics;
import de.sbsapp.examples.geometriccalculator.model.Square;
import de.sbsapp.examples.geometriccalculator.model.Triangle;

public class GUI 
	implements GeometricCalculatorListViewHandler
{
	private JFrame frame;
	private boolean isEditing = true;
	private ArrayList<Geometrics> list = new ArrayList<Geometrics>();
	private JPanel pnlButton;
	private JPanel pnlTable;
	private JPanel pnlExit;
	public JTable tblResults;
	public JTrainerTableModel model;

	
	private CirclePanel _circlePanel;
	private TrianglePanel _trianglePanel;
	private SquarePanel _squarePanel;
	

	// private JTable tblResults;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					GUI window = new GUI();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public GUI() {
		initialize();
	}

	private void initialize() {
		frame = new JFrame();
		frame.setBounds(200, 200, 600, 450);
		frame.setTitle("A & P Calculator");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);

		pnlButton = new JPanel(new GridLayout(1, 3));
		pnlButton.setBounds(50, 20, 500, 50);

		pnlTable = new JPanel();
		pnlTable.setBounds(155, 110, 460, 190);

		pnlExit = new JPanel(new GridLayout(1, 1));
		pnlExit.setBounds(460, 350, 90, 40);
		
		
		
		JButton btnButtonExit = new JButton("Exit");
		JButton btnButtonCircle = new JButton("Circle");

		JButton btnButtonSquare = new JButton("Square");

		JButton btnButtonTriangle = new JButton("Triangle");
	

		final DefaultTableModel model = new DefaultTableModel();

		tblResults = new JTable();
		tblResults
				.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
		tblResults.setModel(model);
		model.addColumn("Symbol");
		model.addColumn("Name");
		model.addColumn("Area");
		model.addColumn("Perimeter");

		JScrollPane pane = new JScrollPane(tblResults);
		pnlTable.add(pane);

		tblResults.setPreferredScrollableViewportSize(new Dimension(300, 150));
		tblResults.setFillsViewportHeight(true);

		JScrollPane scrollPane = new JScrollPane(tblResults);

		pnlTable.add(scrollPane);
		pnlButton.add(btnButtonSquare);
		pnlButton.add(btnButtonCircle);
		pnlButton.add(btnButtonTriangle);
		pnlExit.add(btnButtonExit);
		
		

		// ///////////////////////////////
		// //// TRIANGEL PANEL ///////////////////////////////////////
		// //////////////////////////////

		_trianglePanel = new TrianglePanel(this);
		_trianglePanel.initialize();
		frame.getContentPane().add(_trianglePanel);

		// ///////////////////////////////
		// //// CIRCLE PANEL //////////
		// //////////////////////////////
		_circlePanel = new CirclePanel(this);
		_circlePanel.initialize();
		frame.getContentPane().add(_circlePanel);
		
		// ///////////////////////////////
		// //// OTHER PANELS //////////
		// //////////////////////////////
		frame.getContentPane().add(pnlButton);
		frame.getContentPane().add(pnlTable);
		frame.getContentPane().add(pnlExit);

		// ///////////////////////////////
		// //// SQUARE PANEL //////////
		// //////////////////////////////
		_squarePanel = new SquarePanel(this);
		_squarePanel.initialize();
		frame.getContentPane().add(_squarePanel);

		// ///////////////////////////////
		// //// EDIT BUTTON UND EVENT-LISTENER //////////
		// //////////////////////////////

		final JButton btnEditValue = new JButton("edit value");
		btnEditValue.addActionListener(new EditValueAction(btnEditValue));

		// ///////////////////////////////
		// //// ADD TRIANGLE BUTTON EVENT_HANDLER //////////
		// //////////////////////////////

		btnEditValue.setBounds(265, 306, 117, 29);
		frame.getContentPane().add(btnEditValue);

		// ///////////////////////////////
		// //// DELETE BUTTON EVENT_HANDLER //////////
		// //////////////////////////////

		JButton btnDeleteValue = new JButton("delete value");
		btnDeleteValue.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int row = tblResults.getSelectedRow();
				DefaultTableModel model = (DefaultTableModel) tblResults
						.getModel();
				model.removeRow(row);
				list.remove(row);

			}
		});
		btnDeleteValue.setBounds(394, 306, 117, 29);
		frame.getContentPane().add(btnDeleteValue);

		// ///////////////////////////////
		// //// PANEL BUTTON EVENT_HANDLER (SQUARE / CIRCLE / TRIANGLE)
		// //////////
		// //////////////////////////////

		btnButtonSquare.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				_circlePanel.setVisible(false);
				_squarePanel.setVisible(true);
				_trianglePanel.setVisible(false);
			}
		});

		btnButtonCircle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				_circlePanel.setVisible(true);
				_squarePanel.setVisible(false);
				_trianglePanel.setVisible(false);
			}
		});

		btnButtonTriangle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				_circlePanel.setVisible(false);
				_squarePanel.setVisible(false);
				_trianglePanel.setVisible(true);
			}
		});

		btnButtonExit.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent exit) {
				System.exit(0);

			}

		});

	}
	
	
	class EditValueAction implements ActionListener 
	{
		final JButton _btnEditValue;
		
		
		public EditValueAction(JButton btnEditValue)
		{
			_btnEditValue = btnEditValue;
		}

		@Override
		public void actionPerformed(ActionEvent e) 
		{
			
			
			
			int row = tblResults.getSelectedRow();
			_btnEditValue.setText("save values");

			if (isEditing == true) {
				isEditing = false;

				if (list.get(row) instanceof Square) {
					_squarePanel.setVisible(true);
					_circlePanel.setVisible(false);
					_trianglePanel.setVisible(false);

					//TODO change it 
					_squarePanel._nameSquare.setText(list.get(row).getName());
					Square actSquare = (Square) list.get(row);
					
					//TODO change it
					String str = String.valueOf(actSquare.getSideA());
					_squarePanel._txtSideA.setText(str);

					//TODO change it
					String.valueOf(actSquare.getSideB());
					_squarePanel._txtSideB.setText(str);

				} else if (list.get(row) instanceof Circle) {

					_squarePanel.setVisible(false);
					_circlePanel.setVisible(true);
					_trianglePanel.setVisible(false);

					//TODO change it
					_circlePanel._nameCirc.setText(list.get(row).getName());

					Circle actCircle = (Circle) list.get(row);

					String str = String.valueOf(actCircle.getRadius());
					//TODO change it
					_circlePanel._txtRadius.setText(str);

				} else if (list.get(row) instanceof Triangle) {

					_squarePanel.setVisible(false);
					_circlePanel.setVisible(false);
					_trianglePanel.setVisible(true);

					
					//TODO change it
					_trianglePanel._nameTriangle.setText(list.get(row).getName());

					Triangle actTri = (Triangle) list.get(row);

					String str = String.valueOf(actTri.getSideA());
					//TODO change it
					_trianglePanel._txtTriA.setText(str);

					String str2 = String.valueOf(actTri.getSideB());
					//TODO change it
					_trianglePanel._txtTriB.setText(str2);

					String str3 = String.valueOf(actTri.getSideC());
					//TODO change it
					_trianglePanel._txtTriC.setText(str3);

					String str4 = String.valueOf(actTri.getHeight());
					//TODO change it
					_trianglePanel._txtHeight.setText(str4);

				}

			} else {
				isEditing = true;

				_btnEditValue.setText("edit values");

				if (list.get(row) instanceof Square) {
					//TODO change it
					list.get(row).setName(_squarePanel._nameSquare.getText());
					Square actSquare = (Square) list.get(row);
					actSquare.setSideA(Double.parseDouble(_squarePanel._txtSideA.getText()));
					actSquare.setSideB(Double.parseDouble(_squarePanel._txtSideB.getText()));


					tblResults.getModel().setValueAt(actSquare.getName(), row,
							1);
					tblResults.getModel().setValueAt(
							actSquare.getArea() + " cm\u00B2", row, 2);
					tblResults.getModel().setValueAt(
							actSquare.getPerimeter() + " cm", row, 3);

				}

				else if (list.get(row) instanceof Circle) {
					//TODO change it
					list.get(row).setName(_circlePanel._nameCirc.getText());
					Circle actCircle = (Circle) list.get(row);
					actCircle
							.setRadius(Double.parseDouble(_circlePanel._txtRadius.getText()));


					tblResults.getModel().setValueAt(actCircle.getName(), row,
							1);
					tblResults.getModel().setValueAt(
							actCircle.getArea() + " cm\u00B2", row, 2);
					tblResults.getModel().setValueAt(
							actCircle.getPerimeter() + " cm", row, 3);

				}

				else if (list.get(row) instanceof Triangle) {
					//TODO change it
					list.get(row).setName(_trianglePanel._nameTriangle.getText());
					Triangle actTri = (Triangle) list.get(row);
					
					actTri.setSideA(Double.parseDouble(_trianglePanel._txtTriA.getText()));
					actTri.setSideB(Double.parseDouble(_trianglePanel._txtTriB.getText()));
					actTri.setSideC(Double.parseDouble(_trianglePanel._txtTriC.getText()));
					actTri.setHeight(Double.parseDouble(_trianglePanel._txtHeight.getText()));


					tblResults.getModel().setValueAt(actTri.getName(), row, 1);
					tblResults.getModel().setValueAt(
							actTri.getArea() + " cm\u00B2", row, 2);
					tblResults.getModel().setValueAt(
							actTri.getPerimeter() + " cm", row, 3);

				}

			}

		}
	}


	@Override
	public void addGeometric(Geometrics geometrics) 
	{
		list.add(geometrics);

		((DefaultTableModel) tblResults.getModel()).addRow(new Object[] {
				geometrics.getSymbolicLabel(), geometrics.getName(), geometrics.getArea() + " cm\u00B2 ",
				geometrics.getPerimeter() + " cm" });
		
	}		
		
	
}

Geometrics:

Java:
package de.sbsapp.examples.geometriccalculator.model;
public abstract class Geometrics {

	public String name;

	protected Double _area = null;
	protected Double _perimeter = null;

	
	protected Geometrics(String initName)
	{
		setName(initName);
	}
	
	public void setName(String newName) 
	{
		this.name = newName;
	}

	public String getName() 
	{
		return this.name;
	}
	
	protected void resetCalculation()
	{
		_area = null;
		_perimeter = null;
	}
	
	public double getArea()
	{
		if(_area == null) {
			calculateArea();
		}
		return _area;
	}

	public double getPerimeter()
	{
		if(_perimeter == null) {
			calculatePerimeter();
		}
		return _perimeter;
	}
	
	
	abstract public String getSymbolicLabel();
	
	abstract protected void calculateArea();
	
	abstract protected void calculatePerimeter();
}

MySQL:

Java:
package de.Work.Times.Calculator.Handler;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;

public class MySQL {

	public Connection conn = null;
	public Statement statement = null;
	private String userName = "root";
	private String password = "";
	private String url = "jdbc:mysql://localhost:3306/test";

	public MySQL() {

	}

	public void connectToDatabase() throws SQLException {

		try {

			Class.forName("com.mysql.jdbc.Driver").newInstance();
			conn = DriverManager.getConnection(url, userName, password);
			System.out.println("Database connection established.");
		} catch (Exception e) {
			System.out.println("Error" + e);
		}

	}
}

MysqlHandler:

Java:
package de.Work.Times.Calculator.Handler;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;


import de.Work.Times.Calculator.Interface.ExportInterface;
import de.sbsapp.examples.geometriccalculator.model.Geometrics;

public  class MysqlHandler implements ExportInterface {

	@Override
	public void exportGcalculator(List<Geometrics> CalList) throws IOException {

		MySQL sql = new MySQL();
		try {
			sql.connectToDatabase();
			for (Geometrics w : CalList) {
				sql.statement = sql.conn.createStatement();
			
				sql.statement.executeUpdate("insert into times values ('"
						+ w.getSymbolicLabel()+ "','" + w.getName() + "','"
						+ w.getArea() + "','" + w.getPerimeter() + "')");
			}
		} catch (SQLException e) {
			System.out.println("Error while connecting to database" + e);
		}

	}

	@Override
	public void importGcalculator(List<Geometrics> workDayList) throws IOException {
		// TODO Auto-generated method stub

	}

}

Interface:
Java:
package de.Work.Times.Calculator.Interface;

import java.io.IOException;
import java.util.List;

import de.sbsapp.examples.geometriccalculator.model.Geometrics;

public interface ExportInterface {
	
	public void exportGcalculator(List <Geometrics> CalList) throws IOException;
	public void importGcalculator(List <Geometrics> workDayList) throws IOException;

}

TableModel:

Java:
package de.sbsapp.examples.geometriccalculator.jtrainertablemodel;

import java.text.NumberFormat;
import java.util.Vector;

import javax.swing.table.DefaultTableModel;

public class JTrainerTableModel extends DefaultTableModel {

	private static final long serialVersionUID = 1L;
	private final NumberFormat formater;

	private JTrainerTableModel(Vector<String> headerVector, int i) {
		super(headerVector, i);
		formater = NumberFormat.getInstance();
		formater.setMaximumIntegerDigits(2);
	}

	@Override
	public boolean isCellEditable(int row, int col) {
		return false;
	}

}

ListViewHandler :
Java:
package de.sbsapp.examples.geometriccalculator.gui;

import de.sbsapp.examples.geometriccalculator.model.Geometrics;

public interface GeometricCalculatorListViewHandler 
{
	public void addGeometric(Geometrics geometrics);
}

Vielen Dank !
 
Zuletzt bearbeitet:
G

Gast2

Gast
Du hast da viiiiiel zu viel Code der mit deinem eigentlichen Problem gar nichts zu tun hat.
Beschränke dein Programm doch erstmal nur auf das laden und speichern von Werten aus einer DB Tabelle. Wenn das dann geht kannst du das auf dein Programm übertragen.
 

somahu

Mitglied
Ich hab es geschafft, aber ich kriege einen Error:

"Database connection established.
Error while connecting to databasecom.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-P Cal values (' ? ','soma','8.0','12.0')' at line 1"

Mysql Workbench syntax:

CREATE TABLE `A-P Cal`.`values` (
`Symbol` VARCHAR(45) NULL , !! datatype nicht sicher !!
`Name` VARCHAR(45) NULL ,
`Area` DOUBLE NULL ,
`Permeter` DOUBLE NULL ,
PRIMARY KEY (`Name`) );

Kann jemand mir weiter helfen !! ?
Vielen Dank

MysqlHandler :

Java:
package de.sbsapp.examples.geometriccalculator.Handler;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;


import de.sbsapp.examples.geometriccalculator.Interface.ExportInterface;
import de.sbsapp.examples.geometriccalculator.model.Geometrics;

public  class MysqlHandler implements ExportInterface {

	@Override
	public void exportGcalculator(List<Geometrics> CalList) throws IOException {

		MySQL sql = new MySQL();
		try {
			sql.connectToDatabase();
			for (Geometrics w : CalList) {
				sql.statement = sql.conn.createStatement();
			
				sql.statement.executeUpdate("insert into A-P Cal values ('"
						+ w.getSymbolicLabel()+ "','" + w.getName() + "','"
						+ w.getArea() + "','" + w.getPerimeter() + "')");
			}
		} catch (SQLException e) {
			System.out.println("Error while connecting to database" + e);
		}

	}

	@Override
	public void importGcalculator(List<Geometrics> workDayList) throws IOException {
		// TODO Auto-generated method stub

	}

}

GUI:

Java:
package de.sbsapp.examples.geometriccalculator.gui;

import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;

import de.sbsapp.examples.geometriccalculator.Handler.MysqlHandler;
import de.sbsapp.examples.geometriccalculator.jtrainertablemodel.JTrainerTableModel;
import de.sbsapp.examples.geometriccalculator.model.Circle;
import de.sbsapp.examples.geometriccalculator.model.Geometrics;
import de.sbsapp.examples.geometriccalculator.model.Square;
import de.sbsapp.examples.geometriccalculator.model.Triangle;

public class GUI 
	implements GeometricCalculatorListViewHandler
{
	private JFrame frame;
	private boolean isEditing = true;
	private ArrayList<Geometrics> list = new ArrayList<Geometrics>();
	private JPanel pnlButton;
	private JPanel pnlTable;
	private JPanel pnlExit;
	private JPanel pnlMSQL;
	public JTable tblResults;
	public JTrainerTableModel model;

	
	private CirclePanel _circlePanel;
	private TrianglePanel _trianglePanel;
	private SquarePanel _squarePanel;
	

	// private JTable tblResults;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					GUI window = new GUI();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public GUI() {
		initialize();
	}

	private void initialize() {
		frame = new JFrame();
		frame.setBounds(200, 200, 600, 450);
		frame.setTitle("A & P Calculator");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);

		pnlButton = new JPanel(new GridLayout(1, 3));
		pnlButton.setBounds(50, 20, 500, 50);

		pnlTable = new JPanel();
		pnlTable.setBounds(155, 110, 460, 190);

		pnlExit = new JPanel(new GridLayout(1, 1));
		pnlExit.setBounds(460, 350, 90, 40);
		
		pnlMSQL = new JPanel(new GridLayout(1, 1));
		pnlMSQL.setBounds(250, 350, 120, 40);
		
		JButton btnButtonExit = new JButton("Exit");
		JButton btnButtonCircle = new JButton("Circle");

		JButton btnButtonSquare = new JButton("Square");

		JButton btnButtonTriangle = new JButton("Triangle");
		JButton btnButtonMSQL = new JButton("Save in MSQL");

		final DefaultTableModel model = new DefaultTableModel();

		tblResults = new JTable();
		tblResults.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
		tblResults.setModel(model);
		model.addColumn("Symbol");
		model.addColumn("Name");
		model.addColumn("Area");
		model.addColumn("Perimeter");

		JScrollPane pane = new JScrollPane(tblResults);
		pnlTable.add(pane);

		tblResults.setPreferredScrollableViewportSize(new Dimension(300, 150));
		tblResults.setFillsViewportHeight(true);

		JScrollPane scrollPane = new JScrollPane(tblResults);

		pnlTable.add(scrollPane);
		pnlButton.add(btnButtonSquare);
		pnlButton.add(btnButtonCircle);
		pnlButton.add(btnButtonTriangle);
		pnlExit.add(btnButtonExit);
		pnlMSQL.add(btnButtonMSQL);
		

		// ///////////////////////////////
		// //// TRIANGEL PANEL ///////////////////////////////////////
		// //////////////////////////////

		_trianglePanel = new TrianglePanel(this);
		_trianglePanel.initialize();
		frame.getContentPane().add(_trianglePanel);


		// ///////////////////////////////
		// //// CIRCLE PANEL //////////
		// //////////////////////////////
		_circlePanel = new CirclePanel(this);
		_circlePanel.initialize();
		frame.getContentPane().add(_circlePanel);
		
		
		// ///////////////////////////////
		// //// OTHER PANELS //////////
		// //////////////////////////////
		frame.getContentPane().add(pnlButton);
		frame.getContentPane().add(pnlTable);
		frame.getContentPane().add(pnlExit);
		frame.getContentPane().add(pnlMSQL);
		

		
		
		// ///////////////////////////////
		// //// SQUARE PANEL //////////
		// //////////////////////////////
		_squarePanel = new SquarePanel(this);
		_squarePanel.initialize();
		frame.getContentPane().add(_squarePanel);
		
		
		


		// ///////////////////////////////
		// //// EDIT BUTTON UND EVENT-LISTENER //////////
		// //////////////////////////////

		final JButton btnEditValue = new JButton("edit value");
		btnEditValue.addActionListener(new EditValueAction(btnEditValue));

		
		

		// ///////////////////////////////
		// //// ADD TRIANGLE BUTTON EVENT_HANDLER //////////
		// //////////////////////////////


		btnEditValue.setBounds(265, 306, 117, 29);
		frame.getContentPane().add(btnEditValue);

		// ///////////////////////////////
		// //// DELETE BUTTON EVENT_HANDLER //////////
		// //////////////////////////////

		JButton btnDeleteValue = new JButton("delete value");
		btnDeleteValue.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int row = tblResults.getSelectedRow();
				DefaultTableModel model = (DefaultTableModel) tblResults
						.getModel();
				model.removeRow(row);
				list.remove(row);

			}
		});
		btnDeleteValue.setBounds(394, 306, 117, 29);
		frame.getContentPane().add(btnDeleteValue);

		// ///////////////////////////////
		// //// PANEL BUTTON EVENT_HANDLER (SQUARE / CIRCLE / TRIANGLE)
		// //////////
		// //////////////////////////////

		btnButtonSquare.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				_circlePanel.setVisible(false);
				_squarePanel.setVisible(true);
				_trianglePanel.setVisible(false);
			}
		});

		btnButtonCircle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				_circlePanel.setVisible(true);
				_squarePanel.setVisible(false);
				_trianglePanel.setVisible(false);
			}
		});

		btnButtonTriangle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				_circlePanel.setVisible(false);
				_squarePanel.setVisible(false);
				_trianglePanel.setVisible(true);
			}
		});

		btnButtonExit.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent exit) {
				System.exit(0);

			}

		});
		
		btnButtonMSQL.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				MysqlHandler mysql = new MysqlHandler();
				try {
					mysql.exportGcalculator(list);
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
		});

	}
	
	
	class EditValueAction implements ActionListener 
	{
		final JButton _btnEditValue;
		
		
		public EditValueAction(JButton btnEditValue)
		{
			_btnEditValue = btnEditValue;
		}

		@Override
		public void actionPerformed(ActionEvent e) 
		{
			
			
			
			int row = tblResults.getSelectedRow();
			_btnEditValue.setText("save values");

			if (isEditing == true) {
				isEditing = false;

				if (list.get(row) instanceof Square) {
					_squarePanel.setVisible(true);
					_circlePanel.setVisible(false);
					_trianglePanel.setVisible(false);

					//TODO change it 
					_squarePanel._nameSquare.setText(list.get(row).getName());
					Square actSquare = (Square) list.get(row);
					
					//TODO change it
					String str = String.valueOf(actSquare.getSideA());
					_squarePanel._txtSideA.setText(str);

					//TODO change it
					String.valueOf(actSquare.getSideB());
					_squarePanel._txtSideB.setText(str);

				} else if (list.get(row) instanceof Circle) {

					_squarePanel.setVisible(false);
					_circlePanel.setVisible(true);
					_trianglePanel.setVisible(false);

					//TODO change it
					_circlePanel._nameCirc.setText(list.get(row).getName());

					Circle actCircle = (Circle) list.get(row);

					String str = String.valueOf(actCircle.getRadius());
					//TODO change it
					_circlePanel._txtRadius.setText(str);

				} else if (list.get(row) instanceof Triangle) {

					_squarePanel.setVisible(false);
					_circlePanel.setVisible(false);
					_trianglePanel.setVisible(true);

					
					//TODO change it
					_trianglePanel._nameTriangle.setText(list.get(row).getName());

					Triangle actTri = (Triangle) list.get(row);

					String str = String.valueOf(actTri.getSideA());
					//TODO change it
					_trianglePanel._txtTriA.setText(str);

					String str2 = String.valueOf(actTri.getSideB());
					//TODO change it
					_trianglePanel._txtTriB.setText(str2);

					String str3 = String.valueOf(actTri.getSideC());
					//TODO change it
					_trianglePanel._txtTriC.setText(str3);

					String str4 = String.valueOf(actTri.getHeight());
					//TODO change it
					_trianglePanel._txtHeight.setText(str4);

				}

			} else {
				isEditing = true;

				_btnEditValue.setText("edit values");

				if (list.get(row) instanceof Square) {
					//TODO change it
					list.get(row).setName(_squarePanel._nameSquare.getText());
					Square actSquare = (Square) list.get(row);
					actSquare.setSideA(Double.parseDouble(_squarePanel._txtSideA.getText()));
					actSquare.setSideB(Double.parseDouble(_squarePanel._txtSideB.getText()));


					tblResults.getModel().setValueAt(actSquare.getName(), row,
							1);
					tblResults.getModel().setValueAt(
							actSquare.getArea() + " cm\u00B2", row, 2);
					tblResults.getModel().setValueAt(
							actSquare.getPerimeter() + " cm", row, 3);

				}

				else if (list.get(row) instanceof Circle) {
					//TODO change it
					list.get(row).setName(_circlePanel._nameCirc.getText());
					Circle actCircle = (Circle) list.get(row);
					actCircle
							.setRadius(Double.parseDouble(_circlePanel._txtRadius.getText()));


					tblResults.getModel().setValueAt(actCircle.getName(), row,
							1);
					tblResults.getModel().setValueAt(
							actCircle.getArea() + " cm\u00B2", row, 2);
					tblResults.getModel().setValueAt(
							actCircle.getPerimeter() + " cm", row, 3);

				}

				else if (list.get(row) instanceof Triangle) {
					//TODO change it
					list.get(row).setName(_trianglePanel._nameTriangle.getText());
					Triangle actTri = (Triangle) list.get(row);
					
					actTri.setSideA(Double.parseDouble(_trianglePanel._txtTriA.getText()));
					actTri.setSideB(Double.parseDouble(_trianglePanel._txtTriB.getText()));
					actTri.setSideC(Double.parseDouble(_trianglePanel._txtTriC.getText()));
					actTri.setHeight(Double.parseDouble(_trianglePanel._txtHeight.getText()));


					tblResults.getModel().setValueAt(actTri.getName(), row, 1);
					tblResults.getModel().setValueAt(
							actTri.getArea() + " cm\u00B2", row, 2);
					tblResults.getModel().setValueAt(
							actTri.getPerimeter() + " cm", row, 3);

				}

			}

		}
	}


	@Override
	public void addGeometric(Geometrics geometrics) 
	{
		list.add(geometrics);

		((DefaultTableModel) tblResults.getModel()).addRow(new Object[] {
				geometrics.getSymbolicLabel(), geometrics.getName(), geometrics.getArea() + " cm\u00B2 ",
				geometrics.getPerimeter() + " cm" });
		
	}		
		
	
}


Vielen Dank!
 
G

Gast2

Gast
[STRIKE]A-P Cal <-- das ist kein gültiger Tabellenname.[/STRIKE]

EDIT:
Java:
insert into A-P Cal values
Da stimmt die Syntax nicht. Falls du Sonder-/Leerzeichen im DB-Namen oder Tabellennamen verwendest musst du die ` ` drumherum setzen. Verzichte da aber am besten komplett drauf.
 
Zuletzt bearbeitet von einem Moderator:

somahu

Mitglied
Mysql Workbench syntax:

CREATE TABLE `APCal`.`APCalvalues` (
`Symbol` VARCHAR(45) NULL , !! datatype nicht sicher !!
`Name` VARCHAR(45) NULL ,
`Area` DOUBLE NULL ,
`Permeter` DOUBLE NULL ,
PRIMARY KEY (`Name`) );

APCal = Schema Name
APCalvalues = Table Name

Ich hab die Name geändert, aber immer noch den gleichen Error !!

Danke Dir !!

"Database connection established.
Error while connecting to databasecom.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'APCalvalues (' ? ','Name','6.0','10.0')' at line 1"

Java:
package de.sbsapp.examples.geometriccalculator.Handler;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;


import de.sbsapp.examples.geometriccalculator.Interface.ExportInterface;
import de.sbsapp.examples.geometriccalculator.model.Geometrics;

public  class MysqlHandler implements ExportInterface {

	@Override
	public void exportGcalculator(List<Geometrics> CalList) throws IOException {

		MySQL sql = new MySQL();
		try {
			sql.connectToDatabase();
			for (Geometrics w : CalList) {
				sql.statement = sql.conn.createStatement();
			
				sql.statement.executeUpdate("insert into APCal APCalvalues ('"
						+ w.getSymbolicLabel()+ "','" + w.getName() + "','"
						+ w.getArea() + "','" + w.getPerimeter() + "')");
			}
		} catch (SQLException e) {
			System.out.println("Error while connecting to database" + e);
		}

	}

	@Override
	public void importGcalculator(List<Geometrics> workDayList) throws IOException {
		// TODO Auto-generated method stub

	}

}

Java:
package de.sbsapp.examples.geometriccalculator.Handler;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;

public class MySQL {

	public Connection conn = null;
	public Statement statement = null;
	private String userName = "root";
	private String password = "";
	private String url = "jdbc:mysql://localhost:3306/APCal";

	public MySQL() {

	}

	public void connectToDatabase() throws SQLException {

		try {

			Class.forName("com.mysql.jdbc.Driver").newInstance();
			conn = DriverManager.getConnection(url, userName, password);
			System.out.println("Database connection established.");
		} catch (Exception e) {
			System.out.println("Error" + e);
		}

	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D NPE beim laden von Daten aus MySQL Java Basics - Anfänger-Themen 9
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
P Applet, Daten IO, MySql Java Basics - Anfänger-Themen 2
S Zyklisches abspeichern von Daten aus einr MySql Datenbank Java Basics - Anfänger-Themen 9
F Daten in MySQL Tabelle schreiben Java Basics - Anfänger-Themen 9
J Daten aus mysql laden Java Basics - Anfänger-Themen 4
C No suitable driver found for jdbc:odbc:mysql Java Basics - Anfänger-Themen 8
E Mysql Update wenn es nicht existiert insert Java Basics - Anfänger-Themen 14
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
H Verbindungsprobleme BluJ und MySQL Java Basics - Anfänger-Themen 1
R Java mit MySQL - Verbindungsprobleme Java Basics - Anfänger-Themen 1
B Arquillian installieren - Maven, WildFly, MYSQL Java Basics - Anfänger-Themen 1
M Java Mysql ausführbare datei Java Basics - Anfänger-Themen 7
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
J Java Verbindung mit mysql Datenbank Java Basics - Anfänger-Themen 3
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
R Input/Output Verbindung mit mySql-Datenbank Java Basics - Anfänger-Themen 9
Q-bert MYSQL-Eintrag Java Basics - Anfänger-Themen 2
J Sonderzeichenproblem bei Datenabfrage in MySQL Java Basics - Anfänger-Themen 6
F Java MySQL Java Basics - Anfänger-Themen 3
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
D zu viele MySQL Connections Java Basics - Anfänger-Themen 18
D MySQL Abfrage in JTable speichern Java Basics - Anfänger-Themen 43
D Eine MySQL Verbindung in mehreren Klassen Java Basics - Anfänger-Themen 8
D JTable Zeile wird nicht in MySQL gelöscht Java Basics - Anfänger-Themen 16
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
B MySQL starten / stoppen -> Stoppen erzeugt neuen Prozess Java Basics - Anfänger-Themen 0
B MySQL Path bekommen Java Basics - Anfänger-Themen 40
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
H JAva und MySQL Java Basics - Anfänger-Themen 1
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
U Glassfish mit MySQL verbinden Java Basics - Anfänger-Themen 1
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
A Erste Schritte Verbindung zu MySQL Datenbank herstellen Java Basics - Anfänger-Themen 7
M Mysql "live" Ansicht Java Basics - Anfänger-Themen 10
W MySQL PreparedStatement query Problem Java Basics - Anfänger-Themen 10
K Classpath Mysql EclipseFehler? Java Basics - Anfänger-Themen 12
M Aktuelles Datum in MySQL speichern Java Basics - Anfänger-Themen 11
V Umlaute in mysql, antscript, powershell utf-8 Java Basics - Anfänger-Themen 7
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
T MySQL - Java Organisationsfrage Java Basics - Anfänger-Themen 4
S ArrayList in mysql Datenbank speichern Java Basics - Anfänger-Themen 6
D Mysql ob feld existiert Java Basics - Anfänger-Themen 2
D Mysql schauen Name bereits existiert Java Basics - Anfänger-Themen 7
X MySQL - Query Java Basics - Anfänger-Themen 3
J JAVA zu unsicher für MYSQL? Java Basics - Anfänger-Themen 4
S JDBC MySQL Connector - Element mit ' eintragen? Java Basics - Anfänger-Themen 4
F Verbindung zu MySql Datenbank Java Basics - Anfänger-Themen 4
K In MySQL Select Variablen aus Java Programm benutzen Java Basics - Anfänger-Themen 8
N Java dateFormat und Mysql DateTime Java Basics - Anfänger-Themen 2
B Java MySQL Query ausgeben Java Basics - Anfänger-Themen 4
J Java JDBC MySQL Query Java Basics - Anfänger-Themen 6
S mysql-connector-java-*.jar, MySql ResultSet - Alle ROWs ausgeben? Java Basics - Anfänger-Themen 3
S Datentypen EclipseLink, Datumsformat für MySQL Java Basics - Anfänger-Themen 9
S Resultset Closed (Mysql) Java Basics - Anfänger-Themen 5
K MySQL, Classpath, Java, MAC OSX Java Basics - Anfänger-Themen 3
O HashMap<> in MySQL database speichern Java Basics - Anfänger-Themen 3
D Mysql Connection Close? Java Basics - Anfänger-Themen 14
M Java - MySQL (Eclipse Java EE Web Developers) Java Basics - Anfänger-Themen 4
D Frage MySQL Columnheader Java Basics - Anfänger-Themen 2
D Java mit Mysql Datenbank angebunden Java Basics - Anfänger-Themen 5
I Null - Wert bei Date (Mysql) Java Basics - Anfänger-Themen 2
D Verständnisfrage: Java und MySql Java Basics - Anfänger-Themen 3
P Applet und MySQL-Problem Java Basics - Anfänger-Themen 20
T MySQL-Dienst starten und stoppen aus Netbeans Java Basics - Anfänger-Themen 3
A Java und MySQL!!! Java Basics - Anfänger-Themen 3
Kasoki Java und MySQL ? Java Basics - Anfänger-Themen 4
S CSV-Datei einlesen und in MySql schreiben Java Basics - Anfänger-Themen 3
M mysql-connector-java-5.1.7-bin. jar in die umgebungsvariable installieren Java Basics - Anfänger-Themen 14
A Frage zu java und MySQL Java Basics - Anfänger-Themen 3
J MySQL Timestamp "lesbarer" gestalten Java Basics - Anfänger-Themen 6
J Fehler bei MySql Anbindung mit JDBC Java Basics - Anfänger-Themen 4
W MySQL Driver als Resource laden Java Basics - Anfänger-Themen 5
D MySQL Abfrage. keine Ahnung Java Basics - Anfänger-Themen 5
M 5 MySql Tabellen in JTable - variable TableHeader? Java Basics - Anfänger-Themen 2
K Verbindung zu MySQL Java Basics - Anfänger-Themen 4
G wie erfragt man die letzte ID in einer MySQL Datenbank ab? Java Basics - Anfänger-Themen 3
S MySQL - connection Java Basics - Anfänger-Themen 8
B Client - Server Verbindung über sockets mysql DB ansprechen? Java Basics - Anfänger-Themen 6
G simple suche in java - mysql Java Basics - Anfänger-Themen 10
G Java und mySQL Hilfethread Java Basics - Anfänger-Themen 12
W Java.mysql.date in GregorianCalender konvertieren Java Basics - Anfänger-Themen 2
W Aus Textfeld ein "MySQL Date" auslesen Java Basics - Anfänger-Themen 2
W Endlosscshleife bei MySQL Abfrage Java Basics - Anfänger-Themen 5
N Problem mit MySql und Java Java Basics - Anfänger-Themen 12
P mySQL Datenbanktreiber nutzen Java Basics - Anfänger-Themen 2
J Statement an MySQL Datenbank schicken Java Basics - Anfänger-Themen 4
S Tabelsorter von SUN, wie muss die MysQL Anbindung realisiert Java Basics - Anfänger-Themen 11
J Zugriff auf eine Mysql-DB unter Linux Java Basics - Anfänger-Themen 6
G Mysql escape // html untauglich machen Java Basics - Anfänger-Themen 3
X Java & MySQL Java Basics - Anfänger-Themen 7
D Datenbankprogrammierung mit MYSQL. Java Basics - Anfänger-Themen 7
P wie erzeuge ich ein java date und lade in die mysql datebank Java Basics - Anfänger-Themen 5
M JSP --> Verbindung zur MySQL Datenbank geht nicht ! HILFF Java Basics - Anfänger-Themen 7
G POI und MySQL Java Basics - Anfänger-Themen 2
G in eine Tabelle mit mySQL eine Zeile hinzufügen Java Basics - Anfänger-Themen 17
G MySQL Tutorial Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben