ResultSet一直获取不到值,输出行数为0,可是在access中测试的有一个记录,希望各位大侠给看看
下面是代码:
- Java code
public class studentjiemian { public studentjiemian(String ch){ try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url="jdbc:odbc:sour"; Connection con=DriverManager.getConnection(url); Statement stmt=con.createStatement(); beijing jFrame = new beijing(); jFrame.setVisible(true); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); jFrame.setBounds(((int)dimension.getWidth() - 200) / 2, ((int)dimension.getHeight() - 300) / 2, 900, 675); jFrame.setResizable(false); jFrame.setLayout(null); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel(); label.setBounds(150,20,700,600); JLabel huanying=new JLabel("欢迎你来到学生奖学金管理系统"); huanying.setBounds(50,50,200,30); label.add(huanying); String sqlstr="select username,usercollege,userprofessional from userinf where userid='ch' ";//这个ch是通过另一个类传过来的String值,输出也有值 ResultSet rs=stmt.executeQuery(sqlstr);//rs。next为false。行数也是0 if(rs.next()){ JLabel xingming=new JLabel(rs.getString("username")); xingming.setBounds(50,100,100,30); label.add(xingming); JLabel college=new JLabel(rs.getString("usercollege")); college.setBounds(50,150,100,30); label.add(college); JLabel professional=new JLabel(rs.getString("userprofessional")); professional.setBounds(50,200,100,30); label.add(professional); } jFrame.add(label);
------解决方案--------------------
你在sql语句前面加些调试语句,看看有没有执行,确认下你的 数据库驱动有没有获得,然后一步步调试过去,找到问题的所在。 sql语句也是个易错点。 多调调~~ 祝成功
------解决方案--------------------
给你说嘛把你的程序分段测试。。把数据库存查询的先测试一到看看成功没、如果成功在一起运行。
------解决方案--------------------
断点调试
------解决方案--------------------
建议用PrepareStatment预编译。。。防止sql注入,而且不用拼字符串