我尝试了下面的代码,其中我想在满足 WHERE 条件时获取所有值..并且我的 MS Access 数据库也包含 NULL 值,但是当我从数据库中获取项目到组合框中时,我不希望组合中出现 NULL 值...下面的代码也获取空值..
我尝试过的代码:
if(e.getSource()==cmb_dest)
{
cmb_route.removeAll();
try
{
Connection con;
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:dsnproj","","");
Statement s = con.createStatement();
// String qry="select c_id,p_category from product";
String qry2="select * from trans_dest where
dest='"+cmb_dest.getSelectedItem()+"'";
System.out.println(qry2);
ResultSet rs=s.executeQuery(qry2);
//ResultSet rs1=s1.executeQuery(qry2);
while(rs.next())
{
cmb_route.add(rs.getString("rout1"));
cmb_route.add(rs.getString("rout2"));
cmb_route.add(rs.getString("rout3"));
cmb_route.add(rs.getString("rout4"));
}
}
catch(Exception re)
{
System.out.println(re.getMessage());
}
}
没有错误,但组合框也包含空白项目....
最佳答案
你需要构建一个具有 4 个字段的对象才能完成你想做的事情
while(rs.next())
{
cmb_route.add(rs.getString("rout1"));
cmb_route.add(rs.getString("rout2"));
cmb_route.add(rs.getString("rout3"));
cmb_route.add(rs.getString("rout4"));
}
您需要安装这个
your_object vo = null;
while(rs.next())
{
vo = new your_object();
vo.setRout1(rs.getString("rout1"));
vo.setRout2(rs.getString("rout2"));
vo.setRout3(rs.getString("rout3"));
vo.setRout4(rs.getString("rout4"));
cmb_route.add(vo);
}
关于java - 显示数据库中组合框中的空白项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15266167/