org.h2.jdbc.JdbcSQLDataException:数据转换错误转换为“ MONTH”;SQL语句:

GPell7

当我尝试使用预准备语句插入数据库时​​发生错误。我正在尝试添加到当前日期以使用我的H2嵌入式数据库中的DateAdd函数创建新的到期日期。

        PreparedStatement sql = c.prepareStatement("INSERT INTO BLOOMHEALTH.CLIENTS VALUES ( ?,?,?,?,?,DATEADD(?,?,?),?,?,?)");
        String mem = bloomClient.getSsMember();
        try {
            sql.setString(1,bloomClient.getFirstName());
            sql.setString(2,bloomClient.getLastName());
            sql.setString(3,bloomClient.getPhoneNumber());
            sql.setString(4,bloomClient.getBirthday());
            sql.setString(5,bloomClient.getStartDate());
            sql.setString(6,text);
            sql.setInt(7,num);
            sql.setString(8,systemDate());
            sql.setInt(9,bloomClient.getSessionAmount());
            sql.setString(10,bloomClient.getTrainer());
            sql.setString(11,bloomClient.getSsMember());// problem here aswell, says invalid parameter(unsure why)
            sql.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }

确切的例外是:

org.h2.jdbc.JdbcSQLDataException:数据转换错误转换为“ MONTH”;SQL语句:INSERT INTO BLOOMHEALTH.CLIENTS VALUES(?,?,?,?,?,DATEADD(?,?,?),?,?,?)-(?1,?2,?3,?4, ?5,DATEADD(“,?6,?7)、? 8,?9,?10)[22018-200]

这是为SQL语句的数据发送的内容。

        weeks.setText("'WEEK'");
        months.setText("'MONTH'");
叶夫根尼(Evgenij Ryazanov)

H2的最新版本不再支持此功能中日期时间单位的参数化,因为它引起了其他问题。不幸的是,H2 1.4.200引发了一个怪异的异常,而不是实际的异常,此问题在该版本发布后已得到解决。

您需要直接指定日期时间单位(DATEADD(MONTH, ?, ?))。如果需要支持多个单位,可以使用一个案例:

INSERT INTO BLOOMHEALTH.CLIENTS VALUES (?1, ?2, ?3, ?4, ?5,
CASE ?6
    WHEN 'MONTH' THEN DATEADD(MONTH, ?7, ?8)
    WHEN 'WEEK' THEN DATEADD(WEEK, ?7, ?8)
    -- put all additional units here
END
?9, ?10, ?11)

您还需要使用setText("MONTH")代替"'MONTH'")(或'MONTH'在情况下可以使用WHEN '''MONTH''' THEN …)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

org.h2.jdbc.JdbcSQLDataException:数据转换错误转换为“ MONTH”;SQL语句:

来自分类Dev

org.h2.jdbc.JdbcSQLException:找不到表“PACCHETTIVISITETURISTICHE”;SQL语句:

来自分类Dev

将 H2 sql 查询转换为 JPQL

来自分类Dev

Wildfly 9.0.2 + H2数据库(jdbc:h2:file未显示表)

来自分类Dev

Wildfly 9.0.2 + H2数据库(jdbc:h2:file未显示表格)

来自分类Dev

org.sqlite.JDBC无法转换为javax.sql.DataSource

来自分类Dev

无法完成架构更新:org.h2.jdbc.JdbcSQLException:未找到表“ PG_CLASS”;SQL语句

来自分类Dev

无法通过枚举进行过滤:org.h2.jdbc.JdbcSQLSyntaxErrorException:找不到列“ ROLES”;SQL语句

来自分类Dev

Windows上的Squirrel SQL和H2插件:ClassNotFoundException:org.h2.Driver

来自分类Dev

EmbeddedDatabaseBuilder和org.h2.jdbc.JdbcSQLException:错误的用户名或密码

来自分类Dev

尝试使用H2数据库更新JDBC ResultSet时发生异常

来自分类Dev

在JDBC中更新/更改h2数据库的密码

来自分类Dev

尝试使用H2数据库更新JDBC ResultSet时发生异常

来自分类Dev

数据转换错误H2数据库

来自分类Dev

org.h2.jdbc.JdbcSQLException:找不到模式“ SYS”;SQL语句:从sys.sequences中选择名称[90079-192]

来自分类Dev

为什么尝试通过“ jdbc:h2:test”的URL创建数据库时收到错误消息

来自分类Dev

org.h2.jdbc.JdbcSQLException:找不到列“ Salman”;

来自分类Dev

Grails org.h2.jdbc.JdbcSQLException列的值太长

来自分类Dev

休眠:找不到表 - org.h2.jdbc.JdbcSQLException

来自分类Dev

H2语句池

来自分类Dev

将h2数据库从h2.db转换为mv.db

来自分类Dev

org.hibernate.PersistentObjectException:传递的分离实体与内存数据库中的H2一起持久保存

来自分类Dev

org.hibernate.PersistentObjectException:传递的分离实体与内存数据库中的H2一起持久保存

来自分类Dev

常见错误-org.sqlite.JDBC

来自分类Dev

原因:...无法转换为org.hibernate.engine.jdbc.connections.spi.ConnectionProvider

来自分类Dev

ClassCastException:org.jboss.jca.adapters.jdbc.jdk6.WrappedPreparedStatementJDK6无法转换为OraclePreparedStatement

来自分类Dev

将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

来自分类Dev

将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

来自分类Dev

java.sql.SQLException:在org.hsqldb.jdbc.JDBCUtil.sqlException处关闭SQL语句

Related 相关文章

  1. 1

    org.h2.jdbc.JdbcSQLDataException:数据转换错误转换为“ MONTH”;SQL语句:

  2. 2

    org.h2.jdbc.JdbcSQLException:找不到表“PACCHETTIVISITETURISTICHE”;SQL语句:

  3. 3

    将 H2 sql 查询转换为 JPQL

  4. 4

    Wildfly 9.0.2 + H2数据库(jdbc:h2:file未显示表)

  5. 5

    Wildfly 9.0.2 + H2数据库(jdbc:h2:file未显示表格)

  6. 6

    org.sqlite.JDBC无法转换为javax.sql.DataSource

  7. 7

    无法完成架构更新:org.h2.jdbc.JdbcSQLException:未找到表“ PG_CLASS”;SQL语句

  8. 8

    无法通过枚举进行过滤:org.h2.jdbc.JdbcSQLSyntaxErrorException:找不到列“ ROLES”;SQL语句

  9. 9

    Windows上的Squirrel SQL和H2插件:ClassNotFoundException:org.h2.Driver

  10. 10

    EmbeddedDatabaseBuilder和org.h2.jdbc.JdbcSQLException:错误的用户名或密码

  11. 11

    尝试使用H2数据库更新JDBC ResultSet时发生异常

  12. 12

    在JDBC中更新/更改h2数据库的密码

  13. 13

    尝试使用H2数据库更新JDBC ResultSet时发生异常

  14. 14

    数据转换错误H2数据库

  15. 15

    org.h2.jdbc.JdbcSQLException:找不到模式“ SYS”;SQL语句:从sys.sequences中选择名称[90079-192]

  16. 16

    为什么尝试通过“ jdbc:h2:test”的URL创建数据库时收到错误消息

  17. 17

    org.h2.jdbc.JdbcSQLException:找不到列“ Salman”;

  18. 18

    Grails org.h2.jdbc.JdbcSQLException列的值太长

  19. 19

    休眠:找不到表 - org.h2.jdbc.JdbcSQLException

  20. 20

    H2语句池

  21. 21

    将h2数据库从h2.db转换为mv.db

  22. 22

    org.hibernate.PersistentObjectException:传递的分离实体与内存数据库中的H2一起持久保存

  23. 23

    org.hibernate.PersistentObjectException:传递的分离实体与内存数据库中的H2一起持久保存

  24. 24

    常见错误-org.sqlite.JDBC

  25. 25

    原因:...无法转换为org.hibernate.engine.jdbc.connections.spi.ConnectionProvider

  26. 26

    ClassCastException:org.jboss.jca.adapters.jdbc.jdk6.WrappedPreparedStatementJDK6无法转换为OraclePreparedStatement

  27. 27

    将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

  28. 28

    将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

  29. 29

    java.sql.SQLException:在org.hsqldb.jdbc.JDBCUtil.sqlException处关闭SQL语句

热门标签

归档