# in DB schreiben



## Proggy (9. Jan 2007)

Hallo,

mal wieder so ein klassisches Problem: Mit Java in eine DB schreiben. 
Habe Probleme mit der eigentlichen insert-Anweisung. 
Die Tabelle highscores sieht so aus:
nick        varchar
score      int
datum     date
ort          varchar


der Nickname steht in der Variablen spieler, die Punkte in der Integer-Variablen punktestand, datum soll 0 sein und ort soll fest mit KL eingetragen werden.



```
try{
		stmt = cn.createStatement();
		
		String spieler="Pucki";
		
		  
		rwert=stmt.executeUpdate("Insert into highscores  VALUES (+spieler+','+punktestand+','+0+','+KL)");
		   }catch(Exception e){e.printStackTrace();}
```


Fehlermeldung, dass die Anzahl der Spalten nicht zu meinem executeUpdate-Kommando passt.

Wer kann mir helfen? Danke!!!

Gruß
Andreas

	[/code]


----------



## hupfdule (9. Jan 2007)

VARCHAR werden in Apostrophen angegeben.


----------



## Proggy (9. Jan 2007)

er wirft die Exception aus der Abfrage:

```
if (sqlState.startsWith("42")) {
				return new MySQLSyntaxErrorException(message, sqlState,
						vendorErrorCode);
			}
```

also dort springt er hinein. Was meint er mit "42"? ASCII-CODE?

Habs gefunden: wrong number of parameters. Mal schauen...


----------



## Yzebär (10. Jan 2007)

probier mal sowas...
	
	
	
	





```
"Insert into highscores  VALUES ('"+spieler+"'....
```
Da steht ein ' und ein " nacheinander.


----------

