Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java IDE  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 请教一个问题,谢谢
Bluebluesea





发贴: 6
积分: 0
于 2007-04-02 09:02 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
是关于数据库连接问题的,请大家帮帮忙,我实在弄不出来了,JAVA源程序是这样的:import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.sql.*;
import javax.swing.table.*;
import javax.swing.tree.*;
public class classBrowse extends JFrame implements TreeSelectionListener{
Statement stmt;
ResultSet rs,rs1;
DefaultTableModel dtm;
String[] title;
JTree tree;
JTable table;
DefaultTreeModel treeModel=null;
JScrollPane scroll1,scroll2;
JSplitPane splitPane;
public classBrowse(){
   try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    
    }
    catch(Exception e){e.printStackTrace();}
   try{  
   Connection con=DriverManager.getConnection("jdbc:odbc:xsgl");
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   DefaultMutableTreeNode root=new DefaultMutableTreeNode("专业");
     treeModel=new DefaultTreeModel(root);
     initTree(root,0);
     tree=new JTree(treeModel);
     scroll1=new JScrollPane(tree);
     tree.addTreeSelectionListener(this);
     rs=stmt.executeQuery("select classclass.name as 班级,xsda.no as 学号,xsda.name as 姓名 from xsda,classclass where xsda.classID=classclass.id");
     ResultSetMetaData dbmd=rs.getMetaData();
     title=new String[dbmd.getColumnCount()];
     for(int i=1;i<=dbmd.getColumnCount();i++)
       title[i-1]=dbmd.getColumnNameLight Bulb;
     dtm=new DefaultTableModel(null,title);
     table=new JTable(dtm);
     scroll2=new JScrollPane(table);
     initTable();
     splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scroll1,scroll2);
     splitPane.setOneTouchExpandable(true);
     splitPane.setDividerLocation(200);
     this.getContentPane().add(splitPane,null);
   }catch(SQLException e){
     System.out.printlnEnvelope;
   }
   setTitle("分类查询学生信息");
   setSize(500,400);
   setVisible(true);
}
void initTree(DefaultMutableTreeNode root,int id){
   DefaultMutableTreeNode node=null;
   try{
     Connection con=DriverManager.getConnection("jdbc:odbc:xsgl");
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
     ResultSet rs=stmt.executeQuery("select * from classclass where parent="+id);
     while(rs.next()){
       int nno=rs.getInt("id");
       String nname=rs.getString("name").trim();
       node=new DefaultMutableTreeNode(nname);
       treeModel.insertNodeInto(node,root,root.getChildCount());
       initTree(node,nno);
     }
   }catch(Exception e){}
   finally{
     try{
       rs.close();
     }catch(Exception e){}
   }
}
public void valueChanged(TreeSelectionEvent e){
  JTree tree=(JTree)e.getSource();
  DefaultMutableTreeNode selectionNode=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
  String name=((String)selectionNode.getUserObject());
  String sql="select classclass.name as 班级,xsda.no as 学号,xsda.name as 姓名 from xsda,classclass where xsda.classID=classclass.id";
  if(!name.equals("专业"))
    sql=sql+"and classID in (select id from classclass where rtrim(ltrim(str(id)))like (select ltrim(rtrim(str(id)))+'%'from classclass where rtrim(ltrim(name))='"+name+"')";
  try{
    rs=stmt.executeQuery(sql);
    initTable();
  }catch(Exception ee){}
}
void initTable(){
  dtm.setRowCount(0);
  try{
    rs.beforeFirst();
    while(rs.next()){
      Vector v1=new Vector();
      for(int i=1;i<=title.length;i++)
        v1.addElement(rs.getStringLight Bulb);
      dtm.addRow(v1);
    }
  }catch(SQLException e){e.printStackTrace();}
  dtm.fireTableStructureChanged();
}
  public static void main(String[] args) {
        new classBrowse();
  }

}
配置了数据源和数据库的名称一样xsgl
此数据库里面还有两张表:表xsda有字段no,classID,name,sex,birthDate,speciality,address,isMember,resume,picture
表classclass有字段:id,parent,name
请大家帮忙调试一下,非常感谢




话题树型展开
人气 标题 作者 字数 发贴时间
10622 请教一个问题,谢谢 Bluebluesea 3856 2007-04-02 09:02
8657 Re:请教一个问题,谢谢 xuxiaolei 5502 2007-04-06 12:47
8657 Re:请教一个问题,谢谢 xuxiaolei 0 2007-04-06 12:52
8523 Re:请教一个问题,谢谢 xuxiaolei 0 2007-04-06 12:54
9437 Re:请教一个问题,谢谢 xuxiaolei 17 2007-04-06 13:00

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923