[英]How to get the full query that a PreparedStatement is about to execute in DB2?
[英]Get possible datatypes for preparedStatement - Java DB2
在插入值之前,有什么方法可以使PreparedStatement
接受数据类型?
方案是我正在获取Excel(或OpenOffice)文档,我对其进行了解析以将数据导入数据库。 有时,如果要表示数字0,则Excel中的单元格会留空。 有没有办法从准备好的插入语句中获取列类型,以确保我必须解析哪个数据类型的值?
我认为应该可以通过预先在表上运行select语句并仅查看ResultSet元数据来实现。 但是,如果可能的话,我想解决这个问题。
PreparedStatement
不支持它。 它可以让您设置任何数据类型,但是当您执行查询时,那是因为数据类型不匹配,您将得到SQLException
。
最好的选择是使用SYSTEM CATALOG视图来标识列数据类型,并相应地设置/推导值。
DB2具有此视图SYSCAT.COLUMNS
来满足您的需求。
您可以从准备好的语句中获取参数元数据,它除其他外还包含参数数据类型。
ParameterMetaData metadata = preparedStatement.getParameterMetaData();
int type = metadata.getParameterType(col);
Java文档getParameterMetaData()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.