请教一个有关JAVA连接数据库后取值的问题(付代码)

crevenn 2007-07-18 05:05:55
jc_bm表的格式:
部门 编号 大部门(dbm)
FAN 151 制造
HP 111 制造
ISO 311 品证
...

我需要做一个下拉框,框中取(dbm)中不重复的所有值,用了distinct可仍然取出了所有的值(就是重复的也显示出来了),如下代码:

ke = new Combo(comp,SWT.READ_ONLY);
addCombo(ke,"dbm","jc_bm");

private void addCombo(Combo combo, String l, String b) {
ResultSet rs = null;
String sql = "select distinct " + l + " from " + b;
rs = db.executeQuery(sql);

try {
while (rs.next()){
combo.add(rs.getString(l));
System.out.println(rs.getString(l));
}

rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}

请问为什么会出现这样的情况呢.有什么好的解决办法?
...全文
277 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
haidifotiaoqiang 2007-07-23
  • 打赏
  • 举报
回复
我就不信了,你把查询出来的重复的代码发上来
hui_bing 2007-07-23
  • 打赏
  • 举报
回复
结果没区别原理不一样,DISTINCT是从SELECT 语句的结果中除去重复的行,而在GROUP BY查询语句中只会汇总出列的不同值,与聚合函数的返回值.
joejoe1991 2007-07-23
  • 打赏
  • 举报
回复
String sql = "select distinct " + l + " from " + b;
String sql = "select distinct " + l + " from " + b + " group by " + l;


已经去掉了重复数据了 那这两条句子查询结果应该没有区别的吧
crevenn 2007-07-23
  • 打赏
  • 举报
回复
没人说话了?
crevenn 2007-07-19
  • 打赏
  • 举报
回复
求达人讲解
crevenn 2007-07-19
  • 打赏
  • 举报
回复
自己搞好了。。。。
还是把那sql语句修改了下
String sql = "select distinct " + l + " from " + b;
变成
String sql = "select distinct " + l + " from " + b + " group by " + l;
总算搞出来了。不过这条语句会不会有啥后遗症啊(说实话,虽然这样改了看起来没问题了,可为什么没问题,为什么前面那句就不能实现,我还真是不知道。。。。)
fantasybob 2007-07-19
  • 打赏
  • 举报
回复
关注...
执行sql后的结果应该就是过滤掉重复数据了的...
那么rs里面就不会存放重复的数据
头大
关注两天了...
crevenn 2007-07-19
  • 打赏
  • 举报
回复
单独使用那sql语句的确是去掉重复数据了。
关键就是
combo.add(rs.getString(l));
System.out.println(rs.getString(l));
我将这段读的结果直接显示来看,所有重复不重复的就都出来了。。。。
所以才觉得奇怪。不知道怎么搞了。。。
joejoe1991 2007-07-18
  • 打赏
  • 举报
回复
我测试了一下 已经去掉了重复数据了啊
Lhankun 2007-07-18
  • 打赏
  • 举报
回复
哦!那也不行吗?
crevenn 2007-07-18
  • 打赏
  • 举报
回复
这个。。我已经+起来了啊。
addCombo(ke,"dbm","jc_bm");
String sql = "select distinct " + l + " from " + b;
l = "dbm" b="jc_bm"
Lhankun 2007-07-18
  • 打赏
  • 举报
回复
好像是
凡是sql语句 全用“”包括起来(除了+号)!
String sql = "select distinct " + "dmb" + " from " + "jc_bm";
我没试,你自己试一下吧!!
不对,不要笑话啊!!
我是一个菜鸟!!!
crevenn 2007-07-18
  • 打赏
  • 举报
回复
我在sql数据库里单独使用 select distinct dbm from jc_bm 结果能实现只显示不重复的数据。为什么放到java代码中就会显示所有结果呢?
如果是sql查询语句错误,请教应该使用什么样的sql语句?
crevenn 2007-07-18
  • 打赏
  • 举报
回复
可不可以说的明白一些?如何改sql?
KingNE 2007-07-18
  • 打赏
  • 举报
回复
改SQL

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧