Java 版 (精华区)

发信人: crack (阿力), 信区: Java
标  题: 使用JTable显示数据库中的数据
发信站: 哈工大紫丁香 (2002年11月16日16:57:25 星期六), 站内信件

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.sql.*;
import java.util.*;

public class DisplayData extends JFrame
{

    //数据库变量定义
        private Connection connection;
        private Statement statement;
        private ResultSet resultSet;
        private ResultSetMetaData rsMetaData;

        //GUI变量定义
        private JTable table;
        private MyTableModel model;

    private JTextField  sqlField = new JTextField(20);
        private JButton btnQuery = new JButton("查询");

        public DisplayData()
        {
            //Form的标题
            super( "数据浏览" );
            //url中指定ODBC中设置的DSN名称
            String url = "jdbc:odbc:app";
            String username = "";
            String password = "";

            //加载驱动程序以连接数据库
            try
            {
                Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                connection = DriverManager.getConnection(url, "chen",
"12345");
            }
            catch ( ClassNotFoundException cnfex )
            {        //捕获加载驱动程序异常
                    System.err.println( "装载 JDBC/ODBC 驱动程序失败。" );
                    cnfex.printStackTrace();
                    System.exit( 1 ); // terminate program
            }
            catch ( SQLException sqlex )
            {    //捕获连接数据库异常
                    System.err.println( "无法连接数据库" );
                    sqlex.printStackTrace();
                    System.exit( 1 ); // terminate program
            }

            //如果数据库连接成功,则建立GUI   //SQL语句
            String test="SELECT * FROM usertable";
        btnQuery.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                String sqltext = sqlField.getText().trim();
                ((MyTableModel)table.getModel()).setData(connection,sqltext);
                ((MyTableModel)table.getModel()).fireTableStructureChanged();
            }
        });
        
            initGUI();
            model = new MyTableModel(connection,test);
            table.setModel(model);
            setSize(400,300);
            setVisible(true);
        }
        
        private void initGUI()
        {
            Container cont = getContentPane();
            cont.setLayout(new BorderLayout());
            
            JPanel top = new JPanel();
            top.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
            top.add(sqlField);
            top.add(btnQuery);
            top.setBorder(BorderFactory.createEtchedBorder());
            cont.add(top,BorderLayout.NORTH);
            
            table=new JTable();
            //table.setModel(new MyTable());
            cont.add(new JScrollPane(table));
            addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
            });
        }
            
    public static void main(String[] args)
    {
        new DisplayData();
    }
}//end class
--
十里平湖霜满天,
    寸寸青丝愁华年
对月形单望相护
    只羡鸳鸯不羡仙
花若多情也早凋零。人若痴情憔悴憔悴,人在天涯何妨憔悴
,酒入金樽何妨觉醉,醉眼看别人成双成对,也胜无人得暗弹相思泪。 

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.85]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.530毫秒