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();
}
}请问为什么会出现这样的情况呢.有什么好的解决办法?
部门 编号 大部门(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();
}
}请问为什么会出现这样的情况呢.有什么好的解决办法?
如果是sql查询语句错误,请教应该使用什么样的sql语句?
凡是sql语句 全用“”包括起来(除了+号)!
String sql = "select distinct " + "dmb" + " from " + "jc_bm";
我没试,你自己试一下吧!!
不对,不要笑话啊!!
我是一个菜鸟!!!
addCombo(ke,"dbm","jc_bm");
String sql = "select distinct " + l + " from " + b;
l = "dbm" b="jc_bm"
关键就是
combo.add(rs.getString(l));
System.out.println(rs.getString(l));
我将这段读的结果直接显示来看,所有重复不重复的就都出来了。
所以才觉得奇怪。不知道怎么搞了
执行sql后的结果应该就是过滤掉重复数据了的...
那么rs里面就不会存放重复的数据
头大
关注两天了...
还是把那sql语句修改了下
String sql = "select distinct " + l + " from " + b;
变成
String sql = "select distinct " + l + " from " + b + " group by " + l;
总算搞出来了。不过这条语句会不会有啥后遗症啊(说实话,虽然这样改了看起来没问题了,可为什么没问题,为什么前面那句就不能实现,我还真是不知道。)
String sql = "select distinct " + l + " from " + b + " group by " + l;
已经去掉了重复数据了 那这两条句子查询结果应该没有区别的吧