# Daten in DB schreiben



## heidi (1. Jul 2008)

Hallo,
ich habe ein Servlet womit ich Daten aus einem Formular auslese und sie in eine DB schreibe. Ich möchte mehrere Kommaeinträge in eine Zeile schreiben lassen, wie mach ich das?

```
if(request.getParameter("esis")==null)
	    		    		esis = false;
	    		    	else
	    		    		esis = true;
	    		    	if(request.getParameter("metadoc")==null)
	    		    		metadoc = false;
	    		    	else 
	    		    		metadoc = true;
	    		    	if(request.getParameter("metadiag")==null)
	    		    		metadiag = false;
	    		    	else 
	    		    		metadiag = true;
	    		    	if(request.getParameter("cds")==null)
	    		    		cds = false;
	    		    	else
	    		    		cds = true;
```
Diese Parameter, die true gesetzt sind, möchte ich gerne in eine Spalte "Applikation" schreiben. Kann mir da jemand weiter helfen?

Gruss

heidi


----------



## foobar (1. Jul 2008)

Das kann man auch einfacher habe:


```
boolean metadoc =  request.getParameter("metadoc") == null;
```



> Diese Parameter, die true gesetzt sind, möchte ich gerne in eine Spalte "Applikation" schreiben. Kann mir da jemand weiter helfen?


Na dann mach das doch. Bau dir anhand der Flags ein Sqlstatetment zusammen und setz das mit myConnection.update(...) ab.


----------



## heidi (1. Jul 2008)

Ja, aber wie? Das is ja mein Problem. Ich wüsste nicht, wie ich mehrere Daten in nur ein Feld rein schreiben und diese dann noch durch Komma trennen soll.
Ich hatte das bei den normalen Strings so gehandhabt:

```
stmt = (Statement) ((java.sql.Connection) con).createStatement();  
stmt.execute("INSERT INTO grails.form_nmitarbeiter (firma, name, vorname, email, sprache, funktion, abteilung, telefon, application)" +  " VALUES ('"+firma+"','"+name+"','"+vorname+"','"+email+"','"+sprache+"', '"+funktion+"', '"+abteilung+"', '"+telefon+"' )");
```
Und wie schreibe ich die boolean Werte da rein?


----------



## FArt (1. Jul 2008)

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html


----------



## Neumi5694 (14. Jul 2008)

Nicht jede Datenbank unterstüützt Boolean überhaupt.

Falls Boolean unterstützt wird, so spricht nichts dagegen, die in der folgenden Foprm zu tun:

"insert into myTable (column1, booleanField) values ('stringvalue', TRUE)"

In Datenbanken, welche Boolean nicht unterstützen wird oft auch ein CHAR(1) Feld verwendet, in diesem Fall schreibst du anstatt TRUE/FALSE eben 'Y'/'N' oder was immer auch vordefiniert ist.


----------

