初学jsp,向大家请教关于ResultSet对象的getString()的问题

我想做一个输入表单的数据是否存在于数据库中的检测程序程序部分代码:sql="SelectCustomerID,Pwdfromcustomers";rs=stmt.exec... 我想做一个输入表单的数据是否存在于数据库中的检测程序
程序部分代码:
sql = "Select CustomerID,Pwd from customers";
rs = stmt.executeQuery(sql);
while (rs.next()){
String str = rs.getString(1);
if (str.compareTo(customerID) == 0){ 、、、、、}
其中customerID是从一个网页中传过来的字符串数据,CustomerID在数据库中是char类型。
我的问题是无论customerID是否在数据库中,程序都不能进入if循环。
展开
 我来答
student_cui
2008-07-14 · TA获得超过368个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:409万
展开全部
char类型长度是固定的,如果你插入的值小于这个长度,后面会自动补充空格,所以从数据库中读出来的结果是“XXX ”格式的字符串,与“XXX”比较当然不同了。
你可以将数据库中的字段设为varchar类型的,这样可以解决空格问题。否则也可以if (str.trim().compareTo(customerID) == 0){ ...}
百度网友23809e7
2008-07-14 · TA获得超过394个赞
知道小有建树答主
回答量:380
采纳率:100%
帮助的人:285万
展开全部
compareTo,如果这两个字符串相等,则结果为 0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
有必要像你这样判断吗?你的意图是什么?

getString
String getString(int columnIndex)
throws SQLException以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。

参数:
columnIndex - 第一个列是 1,第二个列是 2,……
返回:
列值;如果值为 SQL NULL,则返回值为 null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友191341b6a
2008-07-14 · TA获得超过445个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:0
展开全部
你把str和customerId传递过来的值都打印出来,看看到底是什么,这样才好定位问题错在哪里了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyrickie
2008-07-14 · TA获得超过201个赞
知道答主
回答量:303
采纳率:0%
帮助的人:129万
展开全部
我建议把sql语句打出来,到查询分析器执行下看有没有数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
messi_18
2008-07-14 · TA获得超过408个赞
知道答主
回答量:114
采纳率:0%
帮助的人:89万
展开全部
你的customers表中没有数据吧,否则怎么可能进不去循环呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式