gpt4 book ai didi

java - 如何在 node.js 中为 IBM DB2 iSeries 选择的 sql 的 where 子句中使用固定长度的 CCSID 37 字符值

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:47 25 4
gpt4 key购买 nike

我的应用程序使用 Java 中的 db2.jar 连接到通过 DataDirect 方法连接的 IBM DB2 iSeries 数据库。当我在 where 子句中使用特定数据运行任何选择查询时,它不会检测到我在 where 条件中传递的值。该列的数据类型是 CHAR(7),我传递的值是“P544901”。我如何使用这个或任何其他 7 个字符的值并且数据库可以检测到它。是否有任何其他过程可以解决我的问题。

Java 示例代码 -

String sql = "SELECT poMast.ORDNO  from AMFLIBL.POMAST AS poMast WHERE poMast.ORDNO =  ? ";
Class.forName("com.ddtek.jdbc.db2.DB2Driver");
String url = "jdbc:datadirect:db2://hostname:port;DatabaseName=dbName;";
Connection con = DriverManager.getConnection(url, "username","password");
PreparedStatement preparedStatement = con.prepareStatement(sql);
preparedStatement.setString(1, 'P544901');
ResultSet rs = preparedStatement.executeQuery();
System.out.println("ResultSet : \n");
System.out.println(" VNDNO");
while (rs.next())
{
System.out.println(rs.getString("ORDNO"));
}

最佳答案

尝试这样修改(用双引号代替单引号)

preparedStatement.setString(1, "P544901");

关于java - 如何在 node.js 中为 IBM DB2 iSeries 选择的 sql 的 where 子句中使用固定长度的 CCSID 37 字符值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40786785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com