服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

使用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) {
     }

    }
}

扫描关注微信公众号