char类型长度是固定的,如果你插入的值小于这个长度,后面会自动补充空格,所以从数据库中读出来的结果是“XXX ”格式的字符串,与“XXX”比较当然不同了。
你可以将数据库中的字段设为varchar类型的,这样可以解决空格问题。否则也可以if (str.trim().compareTo(customerID) == 0){ ...}
compareTo,如果这两个字符串相等,则结果为 0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
有必要像你这样判断吗?你的意图是什么?
getString
String getString(int columnIndex)
throws SQLException以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。
参数:
columnIndex - 第一个列是 1,第二个列是 2,……
返回:
列值;如果值为 SQL NULL,则返回值为 null
你把str和customerId传递过来的值都打印出来,看看到底是什么,这样才好定位问题错在哪里了啊
我建议把sql语句打出来,到查询分析器执行下看有没有数据
你的customers表中没有数据吧,否则怎么可能进不去循环呢