使用准备好的语句存储空值时 SQL 数据类型无效 [重复]
Posted
技术标签:
【中文标题】使用准备好的语句存储空值时 SQL 数据类型无效 [重复]【英文标题】:Invalid SQL data type while storing null value using prepared statement [duplicate] 【发布时间】:2013-11-21 07:55:59 【问题描述】:我使用 MS-Access 作为数据库。 在 Ms access 数据库中,我有一个包含 2 列的表,一个是名称,另一个是文档
对于名称,我使用文本数据类型,对于文档,我使用 OLE 对象
如果用户没有选择任何文档,那么我试图在 OLE 对象中插入空值
prepardstmt.setNull(2, java.sql.Types.BLOB);
我来了
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Invalid SQL data type
例外
你能告诉我哪里做错了吗?
【问题讨论】:
您的标题显示“空指针异常”,但您显示的是SQLException
... 这是什么?
我已经准备好尝试了这些但没有工作.. @gordThompson
我尝试了那些 DataTypes 但我仍然得到..java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Invalid SQL data type Expection @GordThompson
你试过prepardstmt.setNull(2, java.sql.Types.VARCHAR);
?
【参考方案1】:
插入空值使用java.sql.Types.NULL
参考javadocs
【讨论】:
我试过这个但同样的 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Invalid SQL data type Expection I am getting... 不幸的是,尽管 Java 文档可能会说什么,但该选项不适用于 Microsoft Access Driver for ODBC 和 JDBC-ODBC Bridge。有关详细信息,请参阅问题here。以上是关于使用准备好的语句存储空值时 SQL 数据类型无效 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
java.sql.SQLSyntaxErrorException-ORA-01722:无效数字 - 准备好的语句