java中查询Oracle数据库中的表,显示了列名却显示不出表里的数据
刚自学java和数据库,求大神指点下面问题。。publicclassStuextendsJFrame{VectorrowData,columnNames;JTablejt...
刚自学java和数据库,求大神指点下面问题。。
public class Stu extends JFrame{
Vector rowData,columnNames; JTable jt=null; JScrollPane jsp=null; Connection ct=null; Statement st=null; ResultSet rs=null; public static void main(String[] args) { // TODO Auto-generated method stub
Stu stu1 =new Stu(); } public Stu() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); ct=DriverManager.getConnection("jdbc:oracle:thin:test","his","linker"); st=ct.createStatement(); rs=st.executeQuery("select * from Stu"); columnNames =new Vector(); columnNames.add("学号"); columnNames.add("姓名"); columnNames.add("年龄"); columnNames.add("性别"); columnNames.add("籍贯"); while(rs.next()) { rowData =new Vector(); Vector hang =new Vector(); hang.add(rs.getInt(1)); hang.add(rs.getString(2)); hang.add(rs.getInt(3)); hang.add(rs.getString(4)); hang.add(rs.getString(5)); rowData.add(hang); } jt=new JTable(rowData,columnNames); jsp=new JScrollPane(jt); this.add(jsp); this.setSize(400,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { try { rs.close(); st.close(); ct.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } 展开
public class Stu extends JFrame{
Vector rowData,columnNames; JTable jt=null; JScrollPane jsp=null; Connection ct=null; Statement st=null; ResultSet rs=null; public static void main(String[] args) { // TODO Auto-generated method stub
Stu stu1 =new Stu(); } public Stu() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); ct=DriverManager.getConnection("jdbc:oracle:thin:test","his","linker"); st=ct.createStatement(); rs=st.executeQuery("select * from Stu"); columnNames =new Vector(); columnNames.add("学号"); columnNames.add("姓名"); columnNames.add("年龄"); columnNames.add("性别"); columnNames.add("籍贯"); while(rs.next()) { rowData =new Vector(); Vector hang =new Vector(); hang.add(rs.getInt(1)); hang.add(rs.getString(2)); hang.add(rs.getInt(3)); hang.add(rs.getString(4)); hang.add(rs.getString(5)); rowData.add(hang); } jt=new JTable(rowData,columnNames); jsp=new JScrollPane(jt); this.add(jsp); this.setSize(400,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { try { rs.close(); st.close(); ct.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } 展开
2个回答
展开全部
你先打出来看看到底有没有取到值
追问
问题已经解决了。我重新建了一个项目,出现结果了。谢了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是完全不懂JTable的用法。
将
语句 rowData =new Vector(); 移到 while( 语句上方;
将
语句 rowData =new Vector(); 移到 while( 语句上方;
追问
好吧,表示我对JTable的用法确实不是很了解。这是我后来为了找错,随意弄的。即使把rowData=new Vector();放外面依旧是上面那结果。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询