我的应用程序连接到使用Java中的db2.jar通过DataDirect方法连接的IBM DB2 iSeries数据库。当我在where子句中运行任何带有特定数据的select查询时,它不会检测我在where where中传递的值。该列的数据类型为CHAR(7),我传递的值为'P544901'。我如何使用这个或任何其他7个char值,db可以检测它。有没有其他过程可以解决我的问题。
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"));
}
答案 0 :(得分:0)
尝试像这样修改(用双引号替换简单引用)
preparedStatement.setString(1, "P544901");