我数据库用的是oracle,下面有这样一条sql: update test set apply_date = ? ,apply_date 是Date类型,?有可能是null值。
当?为null的时候直接在数据库执行是没有问题的,但是如果是用jdbc执行就会报错,报错信息如下,更新Intger类型也是这样的,不能为null,请问这个问题我需要怎么解决呢?因为有时候确实有可能参数值是null的,而且我也想把null值插入到数据库。
但是jdbc 是不允许这样操作的,请问有什么办法解决此问题吗?
Caused by: java.sql.SQLSyntaxErrorException: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1046)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3694)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1354)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:187
相关推荐
在"day20"这个文件中,可能包含了作者在学习JDBC的第20天所遇到的问题及解决方案,如连接问题、SQL执行错误、事务处理不当等。由于没有具体文件内容,只能推测可能涉及的方面。学习JDBC需要动手实践,不断调试和解决...
通过阅读"JDBC问题解决的方法.pdf",可以更深入地了解和学习JDBC问题的处理技巧。同时,"打开方式.htm"可能提供了关于如何打开和阅读相关文档的指引,而"爱书吧-2万本图书免费下载.url"则可能是提供更多的学习资源...
MySQL与JDBC在处理中文字符时可能会遇到一些问题,主要是由于编码设置不一致导致的。本文将详细介绍两种解决MySQL与JDBC中文问题的方法。 首先,我们需要理解MySQL和Java之间的编码问题。MySQL数据库支持多种字符集...
更新到最新版本(如2017-12-21时的sqljdbc42.jar和sqljdbc41.jar)有助于利用最新的特性,提高性能,并解决潜在的安全问题。在实际开发中,开发者应根据项目的Java版本选择合适的驱动,例如,如果项目使用Java 7,则...
它允许程序员使用SQL语句执行数据库操作,如查询、插入、更新和删除数据。在这个问题中,虽然没有直接涉及到JDBC的使用,但我们可以讨论如何在JDBC连接中处理用户名和密码,以及提供的代码片段中涉及的用户输入处理...
JDBC 4.3规范的更新可能包含了一些新的API、功能增强、改进的性能以及对旧版本中问题的修复。开发者在实际开发中需要根据规范文档来确保他们的应用程序能够兼容不同的数据库和数据库版本,并且能够利用JDBC提供的...
* 若没有错误,则新建一个 URL:jdbc:oracle:thin:@(yourhostname):1521:(your sid)。 * 连接数据库的 Username/password。 大部分站友的 Jbuilder 连接 Oracle 的问题都是由于没有正确配置 classpath 等引起...
### JDBC连接SQL Server 2008问题解析与解决方案 #### 一、SQL Server JDBC连接问题概述 在尝试使用Java Database Connectivity (JDBC)来连接SQL Server 2000/2005/2008时,可能会遇到各种连接失败的问题。这些...
JDBC 解析JDBC中文API各种数据库之间的链接问题,网络编程
在这个“junit测试JDBC错误源代码”中,开发者遇到了一个困扰:预期在数据库中插入两条数据,但实际操作并未按预期执行。为了分析并解决这个问题,我们需要深入理解JDBC的操作流程以及JUnit如何用于测试这些操作。 ...
解决JDBC连接MySQL数据库出现的时区问题
### MySQL + JDBC 彻底解决中文乱码问题 #### 一、引言 在使用 MySQL 数据库进行数据存储时,可能会遇到中文字符显示为乱码的问题。这种情况通常出现在数据库连接参数配置不当或数据库本身的字符集设置不正确时。...
解决maven官方库中没有oracle jdbc驱动的问题 刚研究maven不久,遇到一个比较头疼的问题,在工程里怎么下都下载不了oracle的jdbc驱动。 刚还以为是网络问题,重新下载了很多次,都提示maven库里找不到相关jar文件。...
`Access_JDBC40.jar`作为更新的版本,它修复了已知的问题并提供了更好的性能,因此更换这个jar包可以解决连接错误。 要使用`Access_JDBC40.jar`,你需要遵循以下步骤: 1. **导入驱动**:在你的Java项目中,将`...
1. **自动重连**:当数据库连接因网络问题或其他原因断开时,JDBC6支持自动重新建立连接,减少了程序员处理这类异常的复杂性。 2. **改进的批处理**:批处理功能得到了优化,允许程序员更高效地执行多条SQL语句,...
- 使用JDBC后,这些问题得到了解决,开发者可以更容易地连接各种数据库。 #### 二、JDBC的API介绍 JDBC的API主要包括两个包:`java.sql`和`javax.sql`。 - **`java.sql`**:基础功能,包含了处理基本数据库编程...
- **优缺点**:相比JDBC-ODBC桥接式提高了性能,但由于涉及到本地代码,可能会导致安全性和可移植性问题。 4. **纯JDBC驱动**: - **简介**:完全基于Java编写,无需任何中间层。 - **优缺点**:性能最好,易于...
此外,文件还提到了在使用JDBC进行数据库操作时可能遇到的常见问题和错误,并且给出了这些问题的可能原因以及解决这些问题的方法。这对于帮助开发者解决实际操作中遇到的问题非常有帮助。根据文档的内容,使用...
### JDBC问题集锦与解决方案 #### 一、ResultSet的理解与使用 **问题描述:** 在使用JDBC过程中,经常需要处理查询结果集`ResultSet`。`ResultSet`对象表示执行SQL语句后返回的结果集,它提供了对结果集中数据的...