level 6
胖刘老师
楼主
import java.awt.* ;import javax.swing.* ;import java.sql.* ;import java.awt.event.*;import java.util.EventListener;import java.util.* ;import javax.swing.event.*;import java.io.* ;public class MyXSD1 extends JFrame implements ActionListener, ListSelectionListener {JComboBox c_database = new JComboBox() ;JList l_table = new JList() ;JPanel rightPanel = new JPanel() ;MyXSD1() { this.setSize(300 , 400) ; //new组件 JButton b = new JButton("生成") ; //填充c_database的内容 try { Connection cn = this.getConnection("master") ; Statement st = cn.createStatement() ; ResultSet rs = st.executeQuery("select name from sysdatabases") ; while(rs.next()){ c_database.addItem(rs.getString("name")) ; } } catch (Exception ex) { } //注册事件监听 c_database.addActionListener(this) ; l_table.addListSelectionListener(this) ; b.addActionListener(this) ; //布置左边的面板 JPanel leftPanel = new JPanel() ; leftPanel.setLayout(new BorderLayout()) ; leftPanel.add(c_database , BorderLayout.NORTH) ; leftPanel.add(l_table , BorderLayout.CENTER) ; leftPanel.add(b ,BorderLayout.SOUTH) ; //布置窗体 this.setLayout(new GridLayout(1 , 2)) ; this.add(leftPanel) ;}public Connection getConnection(String dataBaseName) { Connection cn = null ; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") ; cn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename="+dataBaseName,"sa","1234") ; } catch (Exception ex) { } return cn ;}public static void main(String args[]){ MyXSD1 w = new MyXSD1() ; w.setVisible(true) ;}public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("comboBoxChanged")){ //获得用户选择的数据库名 String database = (String)c_database.getSelectedItem() ; try { Connection cn = this.getConnection(database) ; Statement st = cn.createStatement() ; ResultSet rs = st.executeQuery("select name from sysobjects where xtype='U' and status>0") ; //JList 接收Vector,将表名存入 Vector v_tableName = new Vector() ; while(rs.next()){ v_tableName.addElement(rs.getString("name")) ; } l_table.setListData(v_tableName) ; } catch (Exception ex) { } } if(e.getActionCommand().equals("生成")){ //生成Schema try { //获得用户选择的库名&表名 String database = (String)c_database.getSelectedItem() ; String table = (String)l_table.getSelectedValue() ; //获得指定表的列信息 Connection cn = this.getConnection(database) ; Statement st = cn.createStatement() ; ResultSet rs = st.executeQuery("select count(*) from syscolumns where id=(select id from sysobjects where name='"+table+"')") ; rs.next() ; int size = rs.getInt(1) ;
2007年10月05日 06点10分
1