中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 基础 > Java语言基础
使用Java Swing界面实现数据库基本操作
作者:龚勋 时间:2007-06-13 14:04 出处:ccidnet.com 责编:月夜寒箫
              摘要:使用Java Swing界面实现数据库基本操作

实例:用Java Swing图形化界面来对数据库操作(增,删,查,改)

数据库版本:SQLServer2000

数据库名:dxaw

用户名:dxaw

密码:123

表名:bankAccount

表结构:id(int[自动增长]),ownerName(varchar),accountValue(varchar),accountLevel(varchar)

程序代码:

 

import java.awt.event.ActionEvent;
            import java.awt.event.ActionListener;
            import java.sql.*;
            import java.awt.*;
            import javax.swing.*;
            public class data extends JFrame implements ActionListener{
            JButton add,select,del,update;
            JTable table;
            Object body[][]=new Object[50][4];
            String title[]={"编号","姓名","分数","级别"};
            Connection conn;
            Statement stat;
            ResultSet rs;
            JTabbedPane tp;
            public data() {
            super("数据库操作");
            this.setSize(400,300);
            this.setLocation(300,200);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel ps=new JPanel();
            add=new JButton("添加");
            select=new JButton("显示");
            update=new JButton("更改");
            del=new JButton("删除");
            add.addActionListener(this);
            select.addActionListener(this);
            update.addActionListener(this);
            del.addActionListener(this);
            ps.add(add);ps.add(select);ps.add(update);ps.add(del);
            table=new JTable(body,title);
            tp=new JTabbedPane();
            tp.add("bankAccount表",new JScrollPane(table));
            this.getContentPane().add(tp,"Center");
            this.getContentPane().add(ps,"South");
            this.setVisible(true);
            this.connection();
            }
            public void connection(){
            try {
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dxaw";
            conn=DriverManager.getConnection(url,"dxaw","123");
            stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_READ_ONLY);
            } catch (Exception ex) {
            }
            }
            public static void main(String[] args) {
            data data = new data();
            }
            public void actionPerformed(ActionEvent e) {
            if(e.getSource()==add)
            {add();}
            if(e.getSource()==select)
            {select();}
            if(e.getSource()==update)
            {update();}
            if(e.getSource()==del)
            {del();}
            }
            public void del() {
            try {
            int row=table.getSelectedRow();
            stat.executeUpdate("delete bankAccount where accountID='"+body[row][0]+"'");
            JOptionPane.showMessageDialog(null,"数据已成功删除");
            this.select();
            } catch (SQLException ex) {
            }
            }
            public void update() {
            try {
            int row=table.getSelectedRow();
            JTextField t[]=new JTextField[6];
            t[0]=new JTextField("输入姓名:");
            t[0].setEditable(false);
            t[1]=new JTextField();
            t[2]=new JTextField("输入分数:");
            t[2].setEditable(false);
            t[3]=new JTextField();
            t[4]=new JTextField("输入级别:");
            t[4].setEditable(false);
            t[5]=new JTextField();
            String but[]={"确定","取消"};
            int go=JOptionPane.showOptionDialog(
            null,t,"插入信息",JOptionPane.YES_OPTION,
            JOptionPane.INFORMATION_MESSAGE,null,but,but[0]);
            if(go==0){
            String ownerName=new String(t[1].getText().getBytes("ISO-8859-1"),
            "GBK");
            String accountValue=t[3].getText();
            int accountLevel=Integer.parseInt(t[5].getText());
            stat.executeUpdate("update bankAccount set ownerName='"+ownerName+"',
            accountValue='"+accountValue+"',accountLevel='"+accountLevel+"'
            where accountID='"+body[row][0]+"'");
            JOptionPane.showMessageDialog(null,"修改数据成功");
            this.select();
            }
            } catch (Exception ex) {
            }
            }
            public void select() {
            try {
            for(int x=0;x<body.length;x++){
            body[x][0]=null;
            body[x][1]=null;
            body[x][2]=null;
            body[x][3]=null;
            }
            int i=0;
            rs=stat.executeQuery("select * from bankAccount");
            while(rs.next()){
            body[i][0]=rs.getInt(1);
            body[i][1]=rs.getString(2);
            body[i][2]=rs.getString(3);
            body[i][3]=rs.getInt(4);
            i=i+1;
            }
            this.repaint();
            } catch (SQLException ex) {
            }
            }
            private void add() {
            try {
            JTextField t[]=new JTextField[6];
            t[0]=new JTextField("输入姓名:");
            t[0].setEditable(false);
            t[1]=new JTextField();
            t[2]=new JTextField("输入分数:");
            t[2].setEditable(false);
            t[3]=new JTextField();
            t[4]=new JTextField("输入级别:");
            t[4].setEditable(false);
            t[5]=new JTextField();
            String but[]={"确定","取消"};
            int go=JOptionPane.showOptionDialog(null,t,"插入信息",
            JOptionPane.YES_OPTION,JOptionPane.INFORMATION_MESSAGE,null,but,but[0]);
            if(go==0){
            try{
            String ownerName=new String(t[1].getText().getBytes("ISO-8859-1"),"GBK");
            String accountValue=t[3].getText();
            int accountLevel=Integer.parseInt(t[5].getText());
            stat.executeUpdate("insert into bankAccount
            (ownerName,accountValue,accountLevel) values
            ('"+ownerName+"','"+accountValue+"','"+accountLevel+"')");
            JOptionPane.showMessageDialog(null,"数据已成功插入!");
            }catch(Exception ee){
            JOptionPane.showMessageDialog(null,"插入数据错误!");
            }
            }
            } catch (Exception ex) {
            }
            }
            }
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有