Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在node.js中针对IBM DB2 iSeries的sql select的where子句中使用固定长度的CCSID 37 char值_Java_Database_Db2 - Fatal编程技术网

Java 如何在node.js中针对IBM DB2 iSeries的sql select的where子句中使用固定长度的CCSID 37 char值

Java 如何在node.js中针对IBM DB2 iSeries的sql select的where子句中使用固定长度的CCSID 37 char值,java,database,db2,Java,Database,Db2,我的应用程序通过使用Java中的DB2.jar的DataDirect方法连接到IBM DB2 iSeries数据库。当我在where子句中使用特定数据运行任何select查询时,它不会检测我在where条件中传递的值。该列的数据类型为CHAR(7),我传递的值为“P544901”。我如何使用这个或任何其他7字符值,db可以检测到它。是否有其他流程可以解决我的问题 Java中的示例代码- String sql = "SELECT poMast.ORDNO from AMFLIBL.POMAST

我的应用程序通过使用Java中的DB2.jar的DataDirect方法连接到IBM DB2 iSeries数据库。当我在where子句中使用特定数据运行任何select查询时,它不会检测我在where条件中传递的值。该列的数据类型为CHAR(7),我传递的值为“P544901”。我如何使用这个或任何其他7字符值,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"));
}
尝试这样修改(用双引号替换简单引号)


双引号??若我用双引号括起来,它将变成字符串,并且与数据库中描述的数据类型不匹配
preparedStatement.setString(1, "P544901");