连接数据库在JTable中显示

来源:互联网 发布:软件工程设计招聘 编辑:程序博客网 时间:2024/06/05 16:24
[java] view plaincopy
  1. //刚学习的写的一些笔记和大家分享一下有什么不改进的地方希望大家能指正  
  2.   
  3. import java.awt.BorderLayout;  
  4. import java.awt.event.ActionEvent;  
  5. import java.awt.event.ActionListener;  
  6. import java.sql.ResultSet;  
  7. import java.sql.ResultSetMetaData;  
  8. import java.sql.SQLException;  
  9. import java.sql.Statement;  
  10. import java.util.Vector;  
  11.   
  12. import javax.swing.JButton;  
  13. import javax.swing.JFrame;  
  14. import javax.swing.JLabel;  
  15. import javax.swing.JMenu;  
  16. import javax.swing.JMenuBar;  
  17. import javax.swing.JMenuItem;  
  18. import javax.swing.JPanel;  
  19. import javax.swing.JScrollPane;  
  20. import javax.swing.JTable;  
  21. import javax.swing.JTextField;  
  22. import javax.swing.table.DefaultTableModel;  
  23.   
  24. public class MainHome {  
  25.     public static void main(String[] args) {  
  26.         Window win = new Window();  
  27.         win.setTitle("小学期作业");  
  28.     }  
  29.   
  30. }  
  31.   
  32. class Window extends JFrame implements ActionListener {  
  33.     JMenuBar bar;  
  34.     JMenu menuQuery, menuDelete, menuView;  
  35.     JMenuItem delete, qurey, itemClose;  
  36.     JTextField text;  
  37.     JButton button;  
  38.     JLabel label;  
  39.     JPanel panel;  
  40.     JScrollPane jscrollpane;  
  41.     JTable table;  
  42.     DefaultTableModel dtm;  
  43.     Statement stmt;  
  44.     ResultSet rs;  
  45.     ResultSetMetaData rsmd;  
  46.     DataBaseConnection dbc = new DataBaseConnection();  
  47.   
  48.     Window() {  
  49.         init();  
  50.         setBounds(300100850550);  
  51.         setVisible(true);  
  52.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  53.     }  
  54.   
  55.     public void init() {  
  56.         setLayout(new BorderLayout());  
  57.         // 菜单条和菜单  
  58.         bar = new JMenuBar();  
  59.         menuQuery = new JMenu("查询");  
  60.         menuDelete = new JMenu("删除");  
  61.         menuView = new JMenu("更新");  
  62.   
  63.         bar.add(menuQuery);  
  64.         bar.add(menuDelete);  
  65.         bar.add(menuView);  
  66.         setJMenuBar(bar);  
  67.   
  68.         // 文件菜单  
  69.         qurey = new JMenuItem("查询");  
  70.         qurey.addActionListener(this);  
  71.         menuQuery.add(qurey);  
  72.         delete = new JMenuItem("删除");  
  73.         delete.addActionListener(this);  
  74.         menuDelete.add(delete);  
  75.   
  76.         // 插入数据  
  77.         text = new JTextField(16);  
  78.         button = new JButton("删除");  
  79.         label = new JLabel("删除数据");  
  80.         panel = new JPanel();  
  81.         panel.add(label);  
  82.         panel.add(text);  
  83.         panel.add(button);  
  84.         button.addActionListener(this);  
  85.         add(panel, BorderLayout.SOUTH);  
  86.   
  87.     }  
  88.   
  89.     @SuppressWarnings({ "unchecked""rawtypes""deprecation" })  
  90.     @Override  
  91.     public void actionPerformed(ActionEvent e) {  
  92.         Vector colum = new Vector();  
  93.         Vector rows = new Vector();  
  94.   
  95.         // 查询  
  96.         if (e.getSource() == qurey) {  
  97.             rs = dbc.executeQuery("SELECT * FROM employee");  
  98.             try {  
  99.                 rsmd = rs.getMetaData();  
  100.                 for (int i = 1; i <= rsmd.getColumnCount(); ++i)  
  101.                     colum.addElement(rsmd.getColumnName(i));  
  102.                 while (rs.next()) {  
  103.                     Vector currow = new Vector();  
  104.                     for (int i = 1; i <= rsmd.getColumnCount(); ++i) {  
  105.                         currow.addElement(rs.getString(i));  
  106.                     }  
  107.                     rows.addElement(currow);  
  108.                 }  
  109.                 table = new JTable(rows, colum);  
  110.                 add(table, BorderLayout.CENTER);  
  111.                 table.setVisible(true);  
  112.                 table.setRowHeight(50);  
  113.                 add(new JScrollPane(table), BorderLayout.CENTER);  
  114.                 // table.setFillsViewportHeight(true);  
  115.   
  116.             } catch (SQLException e1) {  
  117.                 // TODO Auto-generated catch block  
  118.                 e1.printStackTrace();  
  119.             }  
  120.             show();  
  121.   
  122.         }  
  123.   
  124.     }  
  125.   
  126. }  

数据库连接部分

[java] view plaincopy
  1. //数据库的连接  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.ResultSet;  
  5. import java.sql.SQLException;  
  6. import java.sql.Statement;  
  7.   
  8. public class DataBaseConnection {  
  9.       
  10.     Connection con = null;  
  11.     Statement sql = null;  
  12.     ResultSet rs = null;  
  13.   
  14.     public DataBaseConnection() {  
  15.   
  16.         // shujuku  
  17.         try {  
  18.             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 加载驱动  
  19.         } catch (ClassNotFoundException e) {  
  20.             System.out.println(e);  
  21.         }  
  22.         try {  
  23.             con = DriverManager.getConnection("jdbc:odbc:star"""""); // 连接数据库  
  24.   
  25.         } catch (SQLException e) {  
  26.             System.out.println(e);  
  27.         }  
  28.     }  
  29.   
  30.     // 查询  
  31.     public ResultSet executeQuery(String sql_s) {  
  32.         try {  
  33.             sql = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,  
  34.                     ResultSet.CONCUR_READ_ONLY);  
  35.             rs = sql.executeQuery(sql_s);  
  36.         } catch (SQLException e) {  
  37.             System.out.println(e);  
  38.         }  
  39.         return rs;  
  40.     }  
  41.   
  42.     // update操作  
  43.     public int executeUpdate(String sql_s) {  
  44.   
  45.         int rs = 0;  
  46.         try {  
  47.             sql = con.createStatement();  
  48.             rs = sql.executeUpdate(sql_s);  
  49.         } catch (SQLException e) {  
  50.             System.out.println(e);  
  51.         }  
  52.   
  53.         return rs;  
  54.     }  
  55.   
  56.     // 关闭数据库  
  57.     public void close() {  
  58.         if (rs != null) {  
  59.             try {  
  60.                 rs.close();  
  61.             } catch (SQLException e) {  
  62.                 // TODO Auto-generated catch block  
  63.                 e.printStackTrace();  
  64.             }  
  65.         }  
  66.         if (con != null) {  
  67.             try {  
  68.                 con.close();  
  69.             } catch (SQLException e) {  
  70.                 // TODO Auto-generated catch block  
  71.                 e.printStackTrace();  
  72.             }  
  73.         }  
  74.   
  75.     }  
  76.   
  77. }  
  78. //还有很多功能没有实现,后面有时间再补上!!Ps:正在学习中~~~  
0 0