[ACCESS ODBC] INSERT INTO Fehler

eddi89

Mitglied
Hallo zusammen,
ich erstelle z.Zt. eine JSP Anwendung, die auf eine Datenbank zugreift.
Abfragen etc. kriege ich wunderbar hin. Nur leider klappt die INSERT INTO Anweisung bei mir nicht.
Ausschnitt aus dem Code:
Java:
			String sql=("INSERT INTO levelOne(ID,foreignLanguage, firstLanguage, secondAcceptation, thirdAcceptation, fourthAcceptation, fifthAcceptation, level, registered,exampleSentence) VALUES(?,?,?,?,?,?,?,?,?,?)");
			try 
			{
				java.sql.Date date=new java.sql.Date(0000-00-00);
				QueryUtilities.getCurrDate();
				String registeredDate=QueryUtilities.getDate();
				PreparedStatement pstmt=DatabaseUtilities.getConn().prepareStatement(sql);
				pstmt.setInt(1, id);
				pstmt.setString(2,foreignLanguageList.get(foreignLanguageIndex) );
				pstmt.setString(3,firstLanguageList.get(foreignLanguageIndex) );
				pstmt.setString(4,secondAcceptationList.get(foreignLanguageIndex) );
				pstmt.setString(5,thirdAcceptationList.get(foreignLanguageIndex) );
				pstmt.setString(6,fourthAcceptationList.get(foreignLanguageIndex) );
				pstmt.setString(7,fifthAcceptationList.get(foreignLanguageIndex) );
				pstmt.setInt(8, _LEVEL);
				pstmt.setDate(9,date.valueOf(registeredDate) );
				pstmt.setString(10, exampleSentenceList.get(foreignLanguageIndex));
				pstmt.executeUpdate();
Aufbau der Access DB:
ID - Zahl
foreignLanguage - Text
firstLanguage - Text
secondAcceptation - Text
thirdAcceptation - Text
fourthAcceptation - Text
fifthAcceptation - Text
level - Zahl
registered - Datum
learningDate - Datum
failed - Zahl
exampleSentence - Text

Ich kanns mir beim besten Willen langsam nicht mehr erklären...
Bis auf learningDate und failed sollen alle Felder gefüllt werden. Liegt es daran, dass ich 2 auslasse?
Manche Felder werden auch mit "" gefüllt, da keine Daten eingegeben wurden (und eig auch nicht zwangsweise sollen). Kann es das sein?

liebe Grüße,
eddi89
 
Gibt es keine Fehlermeldung?

Ansonsten: ODBC mit Access ist ziemlicher Müll, das hat noch nie richtig funktioniert. Nimm JDBC und ein anderes DBMS.
 
Hallo Antoras,

Sorry! Es ist JDBC. War nur grad vorher in der ODBC Administration und muss wohlm so darauf gekommen sein.
Fehler: Syntaxfehler in der INSERT INTO-Anweisung.
 
Also, da haben wir es doch. Füge ein
Code:
System.out.println(sql)
vor dein
Code:
pstmt.executeUpdate()
ein und guck dann wo der Syntax-Fehler auftritt.
 
Hi Antoras!
Vielen Dank.
Eben nach der Mittagspause kam mir die Idee:
Access kann nicht damit leben, wenn man etwas in die Spalte "level" eintragen möchte.
Abfragen etc. funktionieren jedoch.
Naja, umbenannt in Lektion und gut ist.

Aber trotzdem vielen Dank!! 🙂
 

Zurück
Oben