# Probleme mit Insert



## real8 (7. Jul 2009)

Hallo Leute!

Bin langsam am verzweifeln...Mittels Insert versuch ich ein paar Parameter in ein MySql Datenbank (5.0.51a) einzufügen. Das funktioniert auch gut mit 3 Einträgen (siehe auskommentierter Bereich). Aber sobald ich mehr als 3 Einträge hinzufügen will schreibt er mir immer diese Fehlermeldung: 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 'xxxx ,'-682.9,'-29.3,'437.4,'-29.3,'-433.8,'-678.9,'112.1,'-397.5,'144.2' at line 1

Hab keine Idee mehr an was es liegen kann...wahrscheinlich wieder mal Tomaten auf den Augen...

Hat Jemand eine Idee was ich falsch mache?


```
public void setData(input myinput) throws Exception
	{
	  	int marke_id = 0;
	  	
	  	mysql connect = new mysql();
		Connection cn;
		cn = connect.connect();
		Statement  st = cn.createStatement();
		
		ResultSet  rs = st.executeQuery("SELECT marke.marke_id FROM marke WHERE marke.marke_sql='"+myinput.marke_name+"'"); 
  		while (rs.next()) 
      	{
  			marke_id = rs.getInt("marke_id");
       	}
		
		st.execute("INSERT INTO main(heft_id, marke_id, kategorie_id, bike, pos_vr_x, pos_vr_y, pos_hr_x, pos_hr_y, pos_lenker_x, " +
					"pos_lenker_y, pos_srohr_1_x, pos_srohr_1_y, pos_srohr_2_x, pos_srohr_2_y, pos_srohr_3_x, pos_srohr_3_y, versatz) " +
					"VALUES('" + myinput.heft_id + "'," + marke_id + ",'" 
					+ myinput.kategorie_id + "'" + myinput.modell_name + ",'" + myinput.vr_x + ",'" + myinput.vr_y + ",'" 
					+ myinput.hr_x + ",'" + myinput.hr_y + ",'" + myinput.lenker_x + ",'" + myinput.lenker_y + ",'" 
					+ myinput.sitzrohr_x + ",'" + myinput.sitzrohr_y + ",'" + myinput.sitzrohr2_x + ",'" + myinput.sitzrohr2_y 
					+ myinput.sitzrohr3_x + ",'" + myinput.sitzrohr3_y + ",'" + ",'" + myinput.versatz + "')");
		
		/*st.execute("INSERT INTO main(heft_id, marke_id, kategorie_id) " +
				"VALUES('" + myinput.heft_id + "'," + marke_id + ",'" + myinput.kategorie_id + "')");*/
	}
```


----------



## SlaterB (7. Jul 2009)

wie wäre es, wenn du es nach 3 Werten erstmal mit 4 versuchst oder überhaupt den erzeugten String anschaust?

insert ('a',4,'b')
ist gut
aber 

insert ('a',4,'555,'b')
geht nicht, Zahlen ohne Anführungszeichen oder wenn schon dann wenigstens links und rechts, nicht nur auf einer Seite

--------

PreparedStatement mit Parameter erspart dir jedes Anführungszeichen-Problem


----------



## real8 (7. Jul 2009)

Habs ja dann auch mit 4 probiert und da is es eben auch ned gegangen...

Vielen, vielen Dank! Wie gesagt bin schon so lange daran gesessen...da wird man irgendwann blind


----------

