# Daten aus Form in Datenbank nur einmal eintragen



## seriously (8. Jan 2014)

Hallo an allen
Dies ist mein erster Beitrag hier und ich hoffe dass Sie mir bei meiner Problemstellung helfen können.

Ich habe eine Datenbank und verbinde sie mit Java mittels JODBC.
In der Datenbank gibt es eine Tabelle namens tbl_Mannschaft, wo bei ich nur 16 Mannschaften eintragen darf.
tbl_Mannschaft besteht nur aus einem Feld: Name

Nun will ich, dass eine Mannschaft nur einmal eingetragen werden kann(also kommt sie auch in der Datenbank nur einmal vor).

Muss ich das im Programm mache oder in die SQL Statements ?

Ich habs versucht mit einer ArrayList:
Ich füge immer die Mannschaft in die ArrayList ein, die ich in das Textfeld eingegeben habe und überprüfe beim Nächsten Einfügen ob dieses Element schon in der ArrayList enthalten ist .
funtkioniert aber nicht


----------



## wolfgang63 (8. Jan 2014)

Also mit ner ArrayList funktioniert das zum Beispiel so.


```
import java.util.ArrayList;

import javax.swing.JOptionPane;

public class MListe {

	ArrayList<String> dbMannschaft = new ArrayList<String>();
	String eingabe = " ";
	boolean doppelt = false;

	public MListe() {
		startEingabe();
	}

	public static void main(String[] args) {
		new MListe();
	}

	public void startEingabe() {
		while (eingabe != null) {

			eingabe = JOptionPane.showInputDialog(null,
					"Geben Sie den Namen ein", "Anzahl Datensätze = " + dbMannschaft.size(),
					JOptionPane.PLAIN_MESSAGE);
			
			if (eingabe == null) {break;};
			
			doppelt = false;
			for (String name : dbMannschaft) {
				if (name.contains(eingabe)) {
					doppelt = true;
					JOptionPane.showMessageDialog(null,
							"Dieser Eintrag ist schon vorhanden",
							"Eine Nachricht", JOptionPane.WARNING_MESSAGE);
				}
			}

			if (!doppelt) {
				dbMannschaft.add(eingabe);
			}
			for (String name : dbMannschaft) {
				System.out.println(name);
			}
			System.out.println("------------");
		}

	}

}
```


----------



## turtle (8. Jan 2014)

> Nun will ich, dass eine Mannschaft nur einmal eingetragen werden kann(also kommt sie auch in der Datenbank nur einmal vor).


SQL: Primary key von tbl_Mannschaft


----------

