MySQL Tabelle "Table" programmieren

Herr Vorragend

Neues Mitglied
Hallo
Ich programmiere zur Zeit einen "Online-Konfigurator".
Der Konfigurator soll nach der getätigten Konfiguration eine Bestellübersicht in einer Tabelle anzeigen.
Die Tabelle enthält folgende Inhalte: Modell, Material, Farbe, Abmessung, Zubehör, Preis
Die Werte sollen von der gewählten Konfiguration (Eingabemaske) übernommen werden.

Meine Frage: Wie kann ich die einzelnen Felder für die Tabelle programmieren?

Wäre froh um jegliche Hilfe. Vielen Dank.
Java:
jLabel1.setText("Sie haben folgende Konfiguration gew\u00e4hlt:");

		Bestellübersicht.setModel(new javax.swing.table.DefaultTableModel(
				new Object[][] { { null, null, null, null, null, null } },
				new String[] { "Modell", "Material", "Farbe", "Abmessung",
						"Zubehör", "Preis" }) {
			boolean[] canEdit = new boolean[] { false, false, false, false,
					false, false };

			public boolean isCellEditable(int rowIndex, int columnIndex) {
				return canEdit[columnIndex];
			}
		});
		jScrollPane1.setViewportView(Bestellübersicht);

		jButton2.setText("Bestellung \u00e4ndern");
		jButton2.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jButton2ActionPerformed(evt);
			}
		});

		Bestellen.setText("Bestellen");
		Bestellen.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				BestellenActionPerformed(evt);
			}
		});

		jButton1.setText("weitere Bestellung");

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout
				.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(
						layout.createSequentialGroup()
								.addContainerGap()
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.LEADING)
												.addComponent(
														jLabel1,
														javax.swing.GroupLayout.PREFERRED_SIZE,
														362,
														javax.swing.GroupLayout.PREFERRED_SIZE)
												.addGroup(
														layout.createParallelGroup(
																javax.swing.GroupLayout.Alignment.TRAILING,
																false)
																.addComponent(
																		jScrollPane1,
																		javax.swing.GroupLayout.Alignment.LEADING)
																.addGroup(
																		javax.swing.GroupLayout.Alignment.LEADING,
																		layout.createSequentialGroup()
																				.addComponent(
																						jButton2,
																						javax.swing.GroupLayout.PREFERRED_SIZE,
																						141,
																						javax.swing.GroupLayout.PREFERRED_SIZE)
																				.addPreferredGap(
																						javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																				.addComponent(
																						jButton1)
																				.addGap(77,
																						77,
																						77)
																				.addComponent(
																						Bestellen))))
								.addContainerGap(25, Short.MAX_VALUE)));

		layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
				new java.awt.Component[] { Bestellen, jButton1, jButton2 });

		layout.setVerticalGroup(layout
				.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(
						layout.createSequentialGroup()
								.addGap(14, 14, 14)
								.addComponent(jLabel1,
										javax.swing.GroupLayout.PREFERRED_SIZE,
										43,
										javax.swing.GroupLayout.PREFERRED_SIZE)
								.addGap(18, 18, 18)
								.addComponent(jScrollPane1,
										javax.swing.GroupLayout.PREFERRED_SIZE,
										51,
										javax.swing.GroupLayout.PREFERRED_SIZE)
								.addGap(18, 18, 18)
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.TRAILING)
												.addComponent(Bestellen)
												.addGroup(
														layout.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
																.addComponent(
																		jButton2)
																.addComponent(
																		jButton1)))
								.addGap(25, 25, 25)));

		layout.linkSize(javax.swing.SwingConstants.VERTICAL,
				new java.awt.Component[] { Bestellen, jButton1 });

		pack();
	}// </editor-fold>
	//GEN-END:initComponents

	private void BestellenActionPerformed(java.awt.event.ActionEvent evt) {
		// TODO add your handling code here:
	}

	private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
		// TODO add your handling code here:
	}

	/**
	 * @param args the command line arguments
	 */
	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new Bestellübersicht().setVisible(true);
			}
		});
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JButton Bestellen;
	private javax.swing.JTable Bestellübersicht;
	private javax.swing.JButton jButton1;
	private javax.swing.JButton jButton2;
	private javax.swing.JLabel jLabel1;
	private javax.swing.JScrollPane jScrollPane1;
	// End of variables declaration//GEN-END:variables
}
 

F.S.WhiTeY

Bekanntes Mitglied
Schon mal mit MySQL auseinander gesetzt ? das Stichwort ist JDBC/ODBC.

Beispiel:

Java:
/*
 * Copyright 2003 Sun Microsystems, Inc.  ALL RIGHTS RESERVED.
 * Use of this software is authorized pursuant to the terms of the license found at
 * [url=http://developer.java.sun.com/berkeley_license.html]License[/url].
 */ 

import java.sql.*;
import java.util.*;
     
public class CreateNewTable {

	public static void main(String [] args) {
		String url = "jdbc:mySubprotocol:myDataSource";

        Connection con;
        Statement stmt;
        try {
			Class.forName("myDriver.ClassName");
	
		} catch(java.lang.ClassNotFoundException e) {
			System.err.print("ClassNotFoundException: "); 
			System.err.println(e.getMessage());
		}

		try {
			con = DriverManager.getConnection(url,
									"myLogin", "myPassword");

			stmt = con.createStatement();

			Vector dataTypes = getDataTypes(con);

			String tableName;
			String columnName;
			String sqlType;
			String prompt = "Enter the new table name and hit Return: ";
			tableName = getInput(prompt);
			String createTableString = "create table " + tableName + " (";
			
			String commaAndSpace = ", ";
			boolean firstTime = true;
			while (true){
				System.out.println("");
				prompt = "Enter a column name " + 
					"(or nothing when finished) \nand hit Return: ";
				columnName = getInput(prompt);
				if (firstTime) {
					if (columnName.length() == 0) {
						System.out.print("Need at least one column;");
						System.out.println(" please try again");
						continue;
					} else {
						createTableString += columnName + " ";
						firstTime = false;
					}
				} else if (columnName.length() == 0) {
						break;
				} else {
					createTableString += commaAndSpace
						+ columnName + " "; 
				}
	
				String localTypeName = null;
				String paramString = "";
				while (true) {
					System.out.println("");
					System.out.println("LIST OF TYPES YOU MAY USE:  ");
					boolean firstPrinted = true;
					int length = 0;
					for (int i = 0; i < dataTypes.size(); i++) {
						DataType dataType = (DataType)dataTypes.get(i);
						if (!dataType.needsToBeSet()) {
							if (!firstPrinted)
								System.out.print(commaAndSpace);
							else
								firstPrinted = false;
							System.out.print(dataType.getSQLType());
							length += dataType.getSQLType().length();
							if ( length > 50 ) {
								System.out.println("");
								length = 0;
								firstPrinted = true;
							}
						}	
					}
					System.out.println("");
		
					int index;
					prompt = "Enter a column type " + 
						"from the list and hit Return:  ";
					sqlType = getInput(prompt);
					for (index = 0; index < dataTypes.size(); index++) {
						DataType dataType = (DataType)dataTypes.get(index);
						if (dataType.getSQLType().equalsIgnoreCase(
														sqlType) && 
							!dataType.needsToBeSet()) {
							break;
						}
					}

					localTypeName = null;
					paramString = "";
					if (index < dataTypes.size()) { // there was a match
						String params;
						DataType dataType = (DataType)dataTypes.get(index);
						params = dataType.getParams();
						localTypeName = dataType.getLocalType();
						if (params != null) {
							prompt = "Enter " + params + ":  ";
							paramString = "(" + getInput(prompt) + ")";
						} 
						break;
					}
					else {  						// use the name as given
						prompt = "Are you sure?  " +
							"Enter 'y' or 'n' and hit Return:  ";
						String check = getInput(prompt) + " ";
						check = check.toLowerCase().substring(0,1);
						if (check.equals("n")) 
							continue;
						else {
							localTypeName = sqlType;
							break;
						}
					}
				}
				
				createTableString += localTypeName + paramString;

			}
	
			createTableString += ")";
			System.out.println("");
			System.out.print("Your CREATE TABLE statement as ");
			System.out.println("sent to your DBMS:  ");
			System.out.println(createTableString);
			System.out.println("");
	
	   		stmt.executeUpdate(createTableString);
	
			stmt.close();
			con.close();
	
		} catch(SQLException ex) {
			System.err.println("SQLException: " + ex.getMessage());
		}	
	}

	private static Vector getDataTypes(Connection con) throws SQLException {
		String structName = null, 
			   distinctName = null, 
			   javaName = null;

		// create a vector of class DataType initialized with
		// the SQL code, the SQL type name, and two null entries
		// for the local type name and the creation parameter(s)
	
		Vector dataTypes = new Vector();
		dataTypes.add(new DataType(java.sql.Types.BIT, "BIT"));
		dataTypes.add(new DataType(java.sql.Types.TINYINT, "TINYINT"));
		dataTypes.add(new DataType(java.sql.Types.SMALLINT, "SMALLINT"));
		dataTypes.add(new DataType(java.sql.Types.INTEGER, "INTEGER"));
		dataTypes.add(new DataType(java.sql.Types.BIGINT, "BIGINT"));
		dataTypes.add(new DataType(java.sql.Types.FLOAT, "FLOAT"));
		dataTypes.add(new DataType(java.sql.Types.REAL, "REAL"));
		dataTypes.add(new DataType(java.sql.Types.DOUBLE, "DOUBLE"));
		dataTypes.add(new DataType(java.sql.Types.NUMERIC, "NUMERIC"));
		dataTypes.add(new DataType(java.sql.Types.DECIMAL, "DECIMAL"));
		dataTypes.add(new DataType(java.sql.Types.CHAR, "CHAR"));
		dataTypes.add(new DataType(java.sql.Types.VARCHAR, "VARCHAR"));
		dataTypes.add(new DataType(java.sql.Types.LONGVARCHAR, "LONGVARCHAR"));
		dataTypes.add(new DataType(java.sql.Types.DATE, "DATE"));
		dataTypes.add(new DataType(java.sql.Types.TIME,"TIME"));
		dataTypes.add(new DataType(java.sql.Types.TIMESTAMP, "TIMESTAMP"));
		dataTypes.add(new DataType(java.sql.Types.BINARY, "BINARY"));
		dataTypes.add(new DataType(java.sql.Types.VARBINARY, "VARBINARY"));
		dataTypes.add(new DataType(java.sql.Types.LONGVARBINARY, 
			"LONGVARBINARY"));
		dataTypes.add(new DataType(java.sql.Types.NULL, "NULL"));
		dataTypes.add(new DataType(java.sql.Types.OTHER, "OTHER"));
		dataTypes.add(new DataType(java.sql.Types.BLOB, "BLOB"));
		dataTypes.add(new DataType(java.sql.Types.CLOB, "CLOB"));

		DatabaseMetaData dbmd = con.getMetaData();
		ResultSet rs = dbmd.getTypeInfo();
		while (rs.next()) {
			int codeNumber = rs.getInt("DATA_TYPE");
			String dbmsName = rs.getString("TYPE_NAME");
			String createParams = rs.getString("CREATE_PARAMS");

			if ( codeNumber == Types.STRUCT && structName == null )
				structName = dbmsName;
			else if ( codeNumber == Types.DISTINCT && distinctName == null ) 
				distinctName = dbmsName;
			else if ( codeNumber == Types.JAVA_OBJECT && javaName == null )  
				javaName = dbmsName;
			else { 
				for (int i = 0; i < dataTypes.size(); i++) {
					// find entry that matches the SQL code, 
					// and if local type and params are not already set,
					// set them
					DataType type = (DataType)dataTypes.get(i);
					if (type.getCode() == codeNumber) {
						type.setLocalTypeAndParams(dbmsName, createParams);
					}
				}
			}
		}

		int[] types = {Types.STRUCT, Types.DISTINCT, Types.JAVA_OBJECT}; 
		rs = dbmd.getUDTs(null, "%", "%", types); 
		while (rs.next()) {
			String typeName = null;
			DataType dataType = null;

			if ( dbmd.isCatalogAtStart() )
				typeName = rs.getString(1) + dbmd.getCatalogSeparator() +
					rs.getString(2) + "." + rs.getString(3);
			else 
				typeName = rs.getString(2) + "." + rs.getString(3) + 
					dbmd.getCatalogSeparator() + rs.getString(1);

			switch (rs.getInt(5)) {
			case Types.STRUCT:
				dataType = new DataType(Types.STRUCT, typeName);
				dataType.setLocalTypeAndParams(structName, null);
				break;
			case Types.DISTINCT:
				dataType = new DataType(Types.DISTINCT, typeName);
				dataType.setLocalTypeAndParams(distinctName, null);
				break;
			case Types.JAVA_OBJECT:
				dataType = new DataType(Types.JAVA_OBJECT, typeName);
				dataType.setLocalTypeAndParams(javaName, null);
				break;
			}
			dataTypes.add(dataType);
		}

		return dataTypes;
	}			

	private static String getInput(String prompt) throws SQLException {
 
		 System.out.print(prompt);
		 System.out.flush();
	
		 try {
			 java.io.BufferedReader bin;
			 bin = new java.io.BufferedReader(
					new java.io.InputStreamReader(System.in));
										  
   		  	String result = bin.readLine();
			return result;

		} catch(java.io.IOException ex) {
			System.out.println("Caught java.io.IOException:");
			System.out.println(ex.getMessage());
			return "";
		}
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Derby/JavaDB Kleine DB mit Tabelle erweitern - Integrität - Alter-Table - Netbeans ... Datenbankprogrammierung 5
D Ich möchte dass ich nachdem man den Kommentar geschrieben hat den Kommentar in den Tabelle Bestellübersicht geschbeichert wird klappt nicht bei mir Datenbankprogrammierung 2
D Tabelle an Persistenzeinheit binden Datenbankprogrammierung 1
T Datenbank: Tabelle erstellen bei Web-Applikation Datenbankprogrammierung 4
S gesamte Tabelle löschen Datenbankprogrammierung 2
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
N Oracle SQL - Nächst kleineren Namen2 zu einem Namen aus einer Tabelle Datenbankprogrammierung 3
Kirby.exe Eine Tabelle updaten Datenbankprogrammierung 16
L SQL Tabelle Datenbankprogrammierung 11
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
L SQL Datenbank Tabelle erstellen Datenbankprogrammierung 6
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
J Oracle Datenbank-Tabelle per Combobox (oder ähnliches) auswählen Datenbankprogrammierung 3
P Derby/JavaDB Datenbanktabelle erweitern, ohne Tabelle zu ändern Datenbankprogrammierung 6
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
S FilterSearch Tabelle Datenbankprogrammierung 4
J Aufbau meiner Datenbank/Tabelle - Verbessern? So lassen? Datenbankprogrammierung 39
Dimax MySQL 10 höchsten Werte aus einer Tabelle ermitteln Datenbankprogrammierung 30
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
Thallius MySQL Tabelle splitten aber wie eine abfragen? Datenbankprogrammierung 10
D MySQL Suche nach Max Value in einer Tabelle Datenbankprogrammierung 7
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
N Dynamische Tabelle Datenbankprogrammierung 84
T Zeitraum aus SQL-Tabelle Datenbankprogrammierung 3
V SQLite 2 Tabelle vergleichen und alle unterschiede rausgeben Datenbankprogrammierung 1
D UCanAccess / MS Access - Tabelle / Spalte vorhanden Datenbankprogrammierung 3
M MySQL wie Listen oder arras in Tabelle(n) schreiben Datenbankprogrammierung 10
Paul15 Tabelle vergleichen Datenbankprogrammierung 15
J Tabelle synchronisieren mit Datenbank Datenbankprogrammierung 7
E Wie kann man bestimmte Zeilen der Tabelle rot markieren? Datenbankprogrammierung 1
L Tabelle mit Inhalt füllen Datenbankprogrammierung 2
J Optimierung von Querys/ ausgegebene Tabelle mit in neue Anfrage einbinden Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
A MySQL Tabelle ID abfragen und Spalte ausgeben Datenbankprogrammierung 4
S Update Tabelle aus Textfeld Datenbankprogrammierung 2
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
E Nur der letzte Datensatz wird in Tabelle geschrieben Datenbankprogrammierung 4
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
Joew0815 Datenmerge große Tabelle Datenbankprogrammierung 16
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
P Neue Tabelle dazugekommen Datenbankprogrammierung 1
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
J Normalisierung - Aufspaltung der Tabelle Datenbankprogrammierung 4
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
S Wie muss meine SQL Tabelle aufgebaut sein, um unendliche Attribute zu vermeiden Datenbankprogrammierung 2
R HSQLDB Tabelle in JTable übertragen Datenbankprogrammierung 3
S MySQL Einfügen in Tabelle nur von Programm zulassen Datenbankprogrammierung 7
S Oracle Database 11g , eclipse , Tabelle erstellen Datenbankprogrammierung 2
L MySQL Uhrzeit-Format innerhalb einer Tabelle Datenbankprogrammierung 8
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
M Designfrage zu Rows die sich auf einen Datensatz derselben Tabelle beziehen Datenbankprogrammierung 7
N Temporäre tabelle MySQL Datenbankprogrammierung 2
X MySQL Hibernate: Massenupdate auf unbekannte Tabelle Datenbankprogrammierung 4
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Rudolf MySQL MySQL Tabelle mit Fremdschlüsseln in JTable darstellen Datenbankprogrammierung 5
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D JPA (Hibernate) : Tabelle zweimal joinen Datenbankprogrammierung 4
G Oracle Hibernate M:N-Beziehung mit nur einer vorhandenen Tabelle Datenbankprogrammierung 5
N [XLS]Strings in Excel-Tabelle schreiben (poi) Datenbankprogrammierung 2
M DB View in Tabelle konvertieren in DB2? Datenbankprogrammierung 2
N Einzelne Spalte in MySQL-DB-Tabelle schreiben Datenbankprogrammierung 7
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
I Tabelle mit "|" getrennten Werten -> einzelnen Wert davon abfragen Datenbankprogrammierung 15
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
A Wie Tabelle auf bestimmten Inhalt überprüfen? Datenbankprogrammierung 7
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
Y Tabelle (elegant) importieren Datenbankprogrammierung 4
turmaline [Hibernate] @OneToMany - Eine referenzierte Tabelle abfragen Datenbankprogrammierung 11
T Update an SQL Tabelle ?! Datenbankprogrammierung 10
F Baumstruktur erstellen und Art Tabelle festhalten!? Datenbankprogrammierung 13
S JPA: Objekt in Tabelle mit Composite Keys mappen (Embeddable Annotation) Datenbankprogrammierung 2
A Tabelle aktuell halten Datenbankprogrammierung 5
trash SQL, ganze Tabelle abfragen Datenbankprogrammierung 3
F HSQLDB HSQLDB lässt mich nicht auf erstellte Tabelle zugreifen Datenbankprogrammierung 12
Airwolf89 Spaltennamen einer Tabelle zurückgeben lassen Datenbankprogrammierung 9
J Ausgewählte Datensätze in DB-Tabelle schreiben Datenbankprogrammierung 13
J zufällige Auswahl aus einer Tabelle Datenbankprogrammierung 4
O eine Tabelle hat mehrere PrimKey mit dem selben Wert Datenbankprogrammierung 9
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
J Tabelle auslesen- knifflig Datenbankprogrammierung 7
Z [ORACLE] Ausgabe Tabelle im GUI Datenbankprogrammierung 4
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
R Tabelle Updaten aber auch Speichern Datenbankprogrammierung 2
D MySql Tabelle mit MySQLAdministrator (Anfänger) Datenbankprogrammierung 5
M Spaltennamen einer MS Access Tabelle ermitteln Datenbankprogrammierung 3
B Suche Query um genau einen Wert einer def. Gruppe aus einer Tabelle zu erhalten. Datenbankprogrammierung 2
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
M Tabelle in Access Datei mit JDBC generieren Datenbankprogrammierung 3
G Tabelle für Zeitraum sperren Datenbankprogrammierung 4
G DB Modellierung mit variablen Attributen in der Tabelle Datenbankprogrammierung 4
S Datenbank-Tabelle in SWING/AWT ausgeben Datenbankprogrammierung 28
K Tabelle mit resultset refreshen? Datenbankprogrammierung 4
B Doppelte Zeilen einer Doppelten Spalte aus einer Tabelle entfernen. Datenbankprogrammierung 2
V Delete From Tabelle, ohne vorher die Tabelle zu kennen Datenbankprogrammierung 5
MQue größte id in einer Tabelle abfragen Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben