【问题标题】:Get possible datatypes for preparedStatement - Java DB2获取preparedStatement 的可能数据类型 - Java DB2
【发布时间】:2018-07-04 10:01:59
【问题描述】:

在插入值之前,有什么方法可以让PreparedStatement 接受的数据类型?

场景是我正在获取 Excel(或 OpenOffice)文档,我对其进行解析以将数据导入数据库。有时,如果表示数字 0,则 Excel 中的单元格会留空。 有没有办法从准备好的插入语句中获取列类型,以确定我必须解析哪个数据类型?

我认为这应该很可能通过预先在表上运行选择语句并查看 ResultSet 元数据来实现。但如果可能的话,我想解决这个问题。

【问题讨论】:

    标签: java sql db2 prepared-statement


    【解决方案1】:

    PreparedStatement 不支持。它可以让您设置任何数据类型,但是当您执行查询时,您将得到 SQLException。 /派生相应的值。

    DB2 有这个视图 SYSCAT.COLUMNS 可以为您提供所需的内容。

    【讨论】:

      【解决方案2】:

      您可以从准备好的语句中获取参数元数据,它包含参数数据类型等。

      ParameterMetaData metadata = preparedStatement.getParameterMetaData();
      int type = metadata.getParameterType(col);
      

      Java 文档getParameterMetaData()

      【讨论】:

      • 这就是我在问题中所写并想尝试绕过的内容。
      • @guitarjunk 哦,您需要参数元数据而不是列。我的错。我更新我的答案
      猜你喜欢
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2011-05-17
      相关资源
      最近更新 更多