2011-12-14 82 views
0

我使用SQL插入到数据库表中,我得到了以下异常:插入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的任何值。 – 2011-12-14 16:00:39

回答

4

是 - 如果您使用PreparedStatement,则必须将值绑定到SQL字符串中的每个?。因此,地方在你的代码应该是这样的:

stmt.setSOMETHING(10, foo);

如果你有那么请您出示的代码,以便我们可以帮助你弄清楚发生了什么事情。

0

通常,酒井不鼓励人们直接操纵数据库表。为所有内核服务提供API,许多工具也发布API并访问该工具所控制的数据。由于数据库表可能会从一个版本更改为下一个版本,因此API是使用Sakai数据更安全的方式。当然,这个策略也有一些例外,但看看Java API,看看它们是否满足您的需求。