2011-12-14 24 views
0

は、私は、データベースのテーブルにSQLのINSERTを使用して、私は次の例外を得た:挿入SQL例外

Error executing query: class org.springframework.jdbc.BadSqlGrammarException:PreparedStatementCallback; bad SQL grammar [insert into SAKAI_ENVIOSIMPRIMIR (IDRECURSO, IDUSUARIO, IDSERVICIOREPROGRAFIA, SENDDATE, COLLECTDATE, PRINTDATE, STATE, NUMBEROFCOPY, DOUBLESIDE, BOUNCE) values (?,?,?,?,?,?,?,?,?,?)]; nested exception is java.sql.SQLException: No value specified for parameter 10 

それは何も値がパラメータ10には存在しないと言ったことは、BOUNCEにnullが含まということですか?

+3

私は、エラーメッセージはもっとはっきりしないと思います。あなたはパラメータ10の値をバインドしていませんでした。 –

+0

はい、それは明らかでした。私の愚かさに対する謝罪。 – Best

+2

これは@Bestに起こります:) –

答えて

4

はい - PreparedStatementを使用している場合は、SQL文字列内のすべての値に?をバインドする必要があります。あなたは私たちはあなたが何が起こっているかを把握することができますので、あなたのコードを表示してくださいすることをお持ちの場合

stmt.setSOMETHING(10, foo);

:だからどこかにあなたのコードのようなものがあるはずです。

0

一般的に、堺はデータベーステーブルを直接操作できないようにしています。 APIはすべてのカーネルサービスに提供されており、多くのツールが公開し、APIによって制御されたデータにアクセスするAPIも提供されています。 APIテーブルは、データベーステーブルがあるリリースから次のリリースに変更される可能性があるため、堺データで作業する方がはるかに安全です。もちろん、このポリシーにはいくつかの例外がありますが、Java APIを見て、ニーズに合っているかどうかを確認してください。