我有一个方法insert()
,它将值列表插入到用户选择的表中。
问题在于,由于用户可以选择表,因此该方法不知道要插入多少个值以及它们是哪种类型。我用一个循环来解决可变数量的值,该循环使用字符串构建器将正确数量的“?” - 字符插入查询的值部分。
我还有一个循环将接收到的值拆分为String数组,但是我遇到了像字符串一样处理整数的问题。我可以使用sql-syntax的一些技巧解决这个问题,还是需要获取有关每个值的数据类型的信息?
如果我必须获取有关数据类型的信息,我该怎么做? (最好是一个只返回类型的sql查询,因为我想直接在我的java代码中使用结果)。
答案 0 :(得分:2)
首先,我怀疑你做的事情是错误的,或者肯定是次优的。
假设您坚持这是您想要的方式,您需要从表中检索一行,然后在ResultSet上调用getMetadata()。
你最终会得到类似的东西:
rs.getMetaData()。getColumnTypeName(int column)
了解列类型后,您可以相应地解析/清理用户输入的数据。