我目前正在使用 HSQLDB 来保存 java 数据。在这些数据中,有一些 Double,其中一些可以是以下值:NaN
(被形容为0.0/0.0
在 javadoc 中)。 HSQLDB 知道如何处理这些值setDouble
and setFloat
of PreparedStatement
。问题是,我必须使用Statement
对象,而不是预编译的存储过程,我只是找不到让它工作的方法。
如果您有最微小的提示,我们将非常欢迎:)
Thanks.
编辑:这是我正在使用的一堆代码:
stmt.executeUpdate("insert into Mesh(Id, name, dimension, meshtype, totalVolume, NumberOfCoarseCell) values (identity(), "
+ "'" + name_ + "',"
+ dimension_ + "," // this value can be NaN
+ "'" + type_.toString() + "',"
+ totalVolume_ + "," // this value can be NaN
+ numberOfCoarseCells_ + ")");
您的意思是您需要一种在 SQL 语句中编写 NaN 的方法?以下作品适用于H2数据库 http://h2database.com:
select sqrt(-1) from dual
但是,它不适用于 Apache Derby 和 PostgreSQL(我没有测试其他数据库)。对于 HSQLDB,它不再适用于 2.1 及更高版本,除非您设置SET DATABASE SQL DOUBLE NAN FALSE
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)