java超市管理系统课程设计报告

湖 南 文 理 学 院

课程设计题目:       超市管理系统      

      计算机科学与技术           

      计科12102    

学生姓名      

               

指导教师 谭文学          

课程设计进行地点:            第三实验楼A617          

间:    20##      5    21 

 起止日期:20##521日起——至 20##621日止

摘 要

随着小型超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长,传统的人工记忆方式也慢慢的无法适应形势的变化。随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品。随着社会的发展,软件也在不断的更新换代。

由于有些超市里对商品的进货、售出及商品的基本信息等的一些繁琐处理都是通过手工进行记载并进行处理的,对商品信息的处理工作量特别大,不仅浪费大量的人力物力,而且还很容易出错,更重要的是为了方便顾客,超市需要时时刻刻对商品对各种信息进行统计分析。 一直以来人们使用传统人工的方式管理超市的各项工作, 这种管理方式存在着许多缺点, 如: 效率低、保密性差, 另外时间一长, 将产生大量的冗余文件和数据, 这给查找、统计、更新和维护工作都带来了很大的困难。然而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。如果有这样一套完整的小型超市管理系统软件,只需点击几下鼠标就可完成所需操作,那样就会大大的提高超市员工的工作效率和管理水平,并能进一步提高超市的工作效率并使超市实施规范化管理。鉴于小型超市管理中存在的诸多问题, 我们在此次课程设计中以小型超市管理系统为研究课题,对此系统进行了全面的设计。

超市管理系统由顾客、采购员、销售员、经理的管理界面四部分组成。 超市管理系统应该能够为用户提供充足的信息和快捷的查询手段。

一个完整系统的设计,当然就离不开后台环境的支持,在此次设计中,我们主要以sqlsever数据库作为基础,实行此系统的开发。

目    录

一、系统需求分析................................................................................ - 1 -

1.1系统名称:.................................................................................... - 1 -

1.2系统介绍:.................................................................................... - 1 -

1.3开发背景....................................................................................... - 1 -

1.4.系统面向的用户群体.................................................................... - 1 -

1.5开发环境....................................................................................... - 1 -

二、系统总体设计................................................................................ - 2 -

2.1系统功能结构图............................................................................ - 2 -

三、系统详细设计................................................................................ - 2 -

3.1数据库实体E-R图设计.................................................................. - 2 -

3.2数据库表的设计............................................................................ - 4 -

3.3物理设计文档................................................................................ - 6 -

3.4详细设计..................................................................................... - 10 -

四、系统总结...................................................................................... - 20 -

五、系统设计心得体会..................................................................... - 21 -

六、参考文献...................................................................................... - 21 -

一、系统需求分析

1.1系统名称:

小型超市管理系统

1.2系统介绍:

界面设计简洁、友好、美观大方

操作简单、快捷方便

数据存储安全、可靠

信息分类清晰、准确

强大的查询功能、保证数据查询的灵活性

提供销售排行,为管理员提供真实的数据信息

提供灵活、方便的权限设置功能,使整个系统的管理分工明确

对用户的输入的数据,系统进行严格的数据检验,尽可能排人为错误

1.3开发背景

随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。

作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。

我国的超市在20世纪90年代初期形成,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着经济的快速发展,超市的经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的管理技术。

1.4.系统面向的用户群体

主要是中小型超市使用者,该消费群体具有以下特征:1超市日常管理人工化居多,工作效率较低;2超市日常交易额较小,货物流通较小,不愿花高价购进大型超市管理系统。因此,该消费群体对产品的功能性需求并不高,只需满足前台销售系统、后台货物管理即可。

1.5开发环境

Eclipse+mysql

二、系统总体设计

2.1系统功能结构图

 小超市管理系统是一个专门针对小型的商店和超市的智能化、自动化的管理系统。其功能总框图如图2-1所示。

java超市管理系统课程设计报告

                       图2-1 系统功能总框图

三 数据库代码和界面

3.1数据库表的设计

(1) 顾客信息表(Buye)

CREATE TABLE Buyer_TABLE (

         BuyerID int IDENTITY (1, 1) NOT NULL ,

         BuyerGoodsName varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

         BuyerGoodsNumber varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

         BuyerManufacturer varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

         BuyerDate varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

         BuyerStatus varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

         BuyerName varchar (50) COLLATE Chinese_PRC_CI_AS NULL

) ON PRIMARY

(2)商品信息表(goodsInfo

CREATE TABLE goodsInfo (

    GoodsID int NOT NULL ,

    GoodsName varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    GoodsNumber int NULL ,

    GoodsProduct varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    GoodsPrice float NULL ,

    GoodsSize varchar (50) COLLATE Chinese_PRC_CI_AS NULL

) ON PRIMARY

GO

(3)用户信息表( T_user)

CREATE TABLE T_user (

    userID int IDENTITY (1, 1) NOT NULL ,

    userName varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userPassword varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userAddress varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userAuthority varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userGender varchar (10) COLLATE Chinese_PRC_CI_AS NULL ,

    userAge int NULL

) ON PRIMARY

CREATE TABLE user (

    userID int IDENTITY (1, 1) NOT NULL ,

    userName varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userPassword varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userAddress varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userAuthority varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    userGender varchar (10) COLLATE Chinese_PRC_CI_AS NULL ,

    userAge int NULL

) ON PRIMARY

GO

(4)销售信息表(vendition)

CREATE TABLE vendition_TABLE (

    VenditionID int IDENTITY (1, 1) NOT NULL ,

    GoodsName varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    GoodsCustomNumber varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    CustomerName varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    VenditionDate varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    GoodsSize varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,

    GoodsPrice float NULL

) ON PRIMARY

  3.2连接数据库

String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
     String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=supermarket";
   
       String userName="sa";    //默认用户名
       String userPwd="123"; //密码

 

        四、系统模块功能介绍

3.1 登录功能介绍

登录功能是进入系统必须经过的验证过程,其主要功能是验证使用者的身份,确认使用者的权限,从而在使用软件过程中能安全地控制系统数据,即不同的工作人员有不同的权限,每个使用人员不得跨越其权限操作软件,可以避免不必要的数据丢失事件发生。

        登录的界面如图2-2所示

登陆成功!!!

4.1.1登陆界面源代码

public class Logincs extends JDialog implements ActionListener{

       //声明在程序中要用到的方法

  private JPanel panel1 = new JPanel();

  private BorderLayout borderLayout1 = new BorderLayout();

  private JPanel jPanel1 = new JPanel();

  private XYLayout xYLayout1 = new XYLayout();

  private JLabel jLabel1 = new JLabel();//添加一个标签控件

  private JLabel jLabel2 = new JLabel();

  private JTextField jTextField1 = new JTextField();//添加一个文本框

  private JButton jButton1 = new JButton();//添加一个按钮控件

  private JButton jButton2 = new JButton();

  private JPasswordField jPasswordField1 = new JPasswordField();

  private Database database1 = new Database();

  private JLabel jLabel3 = new JLabel();

  private JLabel jLabel4 = new JLabel();

  private JLabel jLabel5 = new JLabel();

  private TitledBorder titledBorder1;

  private TitledBorder titledBorder2;

  private JLabel jLabel6 = new JLabel();

  public Logincs(Frame frame, String title, boolean modal) {

    super(frame, title, modal);

    try {

      jbInit();

      pack();

    }

    catch(Exception ex) {

      ex.printStackTrace();

     

    }

  }

  public Logincs() {

    this(null, "", false);

  }

  private void jbInit() throws Exception {

    titledBorder1 = new TitledBorder("");

    titledBorder2 = new TitledBorder("");

    panel1.setLayout(borderLayout1);

   

    jPanel1.setLayout(xYLayout1);

    jLabel1.setForeground(Color.blue);//标签控件的字体颜色

    jLabel1.setText("用户名"); //标签标题

    jLabel2.setForeground(Color.blue);

    jLabel2.setText("密码");

    jButton1.setForeground(UIManager.getColor("List.selectionBackground"));//按钮控件字体颜色

    jButton1.setBorder(BorderFactory.createRaisedBevelBorder());//按钮外观

    jButton1.setText("登录");//按钮标题

    jButton1.addActionListener(this);//加入按钮事件

    jButton2.setForeground(UIManager.getColor("Menu.selectionBackground"));

    jButton2.setBorder(BorderFactory.createRaisedBevelBorder());

    jButton2.setToolTipText("");

    jButton2.setText("取消");

    jButton2.addActionListener(this);

    jPanel1.setBorder(BorderFactory.createEtchedBorder());

    jPanel1.setMinimumSize(new Dimension(600, 600));//设置面板大小

    jPanel1.setPreferredSize(new Dimension(400, 325));

    jPasswordField1.setBorder(titledBorder1);

    jPasswordField1.setToolTipText("");

   database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:odbc:supermarket", "sa", "123", false, "sun.jdbc.odbc.JdbcOdbcDriver"));

   

  

    this.setResizable(false);

    this.setTitle("登录");

    jLabel3.setBackground(Color.yellow);//标签背景颜色

    jLabel3.setForeground(Color.black);

    jLabel3.setBorder(BorderFactory.createEtchedBorder());

    jLabel3.setText("                      小型超市管理系统");

    jLabel4.setBorder(BorderFactory.createEtchedBorder());

    jLabel4.setText(" ——制作人:L,T,Y,Y");

    jLabel5.setBorder(BorderFactory.createEtchedBorder());

    jLabel5.setToolTipText("");

    jLabel5.setText("——版本号: 20##.5.30");

    jTextField1.setBorder(titledBorder2);

    jLabel6.setBorder(BorderFactory.createEtchedBorder());

    getContentPane().add(panel1);

    panel1.add(jPanel1, BorderLayout.WEST);

    jPanel1.add(jLabel3,     new XYConstraints(-1, 0, 395, 30));

    jPanel1.add(jLabel5,     new XYConstraints(274, 30, 121, 32));

    jPanel1.add(jLabel4, new XYConstraints(127, 32, 143, 30));

    jPanel1.add(jPasswordField1, new XYConstraints(143, 196, 132, 24));

    jPanel1.add(jTextField1, new XYConstraints(143, 136, 132, 24));

    jPanel1.add(jLabel2, new XYConstraints(23, 195, 60, 25));

    jPanel1.add(jLabel1, new XYConstraints(23, 134, 60, 25));

    jPanel1.add(jLabel6,    new XYConstraints(-2, 65, 396, 191));

    jPanel1.add(jButton1, new XYConstraints(90, 274, 68, 28));

    jPanel1.add(jButton2, new XYConstraints(193, 275, 69, 28));

  }

  public void actionPerformed(ActionEvent e){

         String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

           String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=supermarket";

             String userName="sa";    //默认用户名

             String userPwd="123"; //密码

             Statement stmt=null;

            ResultSet rs =null;

             Connection dbConn=null;

            

    if(e.getSource() == jButton1) //得到界面单击事件

    {

      try{

        String userAuthority = null ;

       // String userName = null ;

        String userPassword = null ;

        String testName = jTextField1.getText().toString() ;//从jTextField1中得到用户名

        String testPassword = String.valueOf(jPasswordField1.getPassword()) ;//从jPassword中得到用户密码

        

       

        //Statement sql = database1.createStatement() ; //打开Statement对象

        try {

                     Class.forName(driverName).newInstance();

              } catch (InstantiationException e1) {

                     // TODO Auto-generated catch block

                     e1.printStackTrace();

              } catch (IllegalAccessException e1) {

                     // TODO Auto-generated catch block

                     e1.printStackTrace();

              } catch (ClassNotFoundException e1) {

                     // TODO Auto-generated catch block

                     e1.printStackTrace();

              }

        dbConn=DriverManager.getConnection(dbURL,userName,userPwd);

        

          stmt = dbConn.createStatement(); 

       

       rs = stmt.executeQuery("SELECT userName,userPassword , userAuthority FROM T_user WHERE userName = '"+testName+"'") ;

        //执行SQL语句,从数据库当中选择用户名,密码,和权限。

        while(rs.next()) //

        {

          userName = rs.getString("userName") ; //从数据库当中得到用户名

          userPassword = rs.getString("userPassword") ;//从数据库当中得到密码

          userAuthority = rs.getString("userAuthority") ;//从数据库当中得到权限

        }

        verifyUser(userName,userPassword,testPassword,userAuthority); //调用verifyUser方法

        cancel() ;//退出

      }

      catch(SQLException ex){ex.printStackTrace();}

    }

    //exit the System

    else if(e.getSource() == jButton2){

      cancel();

    }

  }

  void cancel()

  {

    dispose();

  }

  //验证用户名以及密码

  void verifyUser(String userName , String userPassword , String testPassword, String userAuthority)

  {

    if(userName == null) //判断用户名是否为空

    {

      JOptionPane.showMessageDialog(null,"用户名不存在,请先注册","verify user",JOptionPane.DEFAULT_OPTION);

      //抛出对话框

    }

    else

    {

      if(userPassword.equals(testPassword) == false) //判断密码是否相等

      {

        JOptionPane.showMessageDialog(null,"您输入的密码不正确,请重试","verify password" , JOptionPane.DEFAULT_OPTION);

        //抛出对话框

      }

      else{

        JOptionPane.showMessageDialog(null,"success","",JOptionPane.DEFAULT_OPTION);

        //

        verifyUserAuthority(userAuthority) ;//进行权限判断

      }

    }

  }

  //验证用户权限

  void verifyUserAuthority(String userAuthority){

    if(userAuthority.equals("admin"))//如果用户为admin,则弹出管理员界面

    {

      AdminWindow adminWindow = new AdminWindow() ;

      //设置对话框

      Dimension dlgSize = adminWindow.getPreferredSize();

      Dimension frmSize = getSize();

      Point loc = getLocation();

      adminWindow.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);

      adminWindow.setModal(true);

      adminWindow.pack();

      adminWindow.show();//显示对话框

    }

    else if (userAuthority.equals("customer"))//如果用户为customer

          //弹出顾客登录界面

    {

      CustomerWindow customerWindow =new CustomerWindow() ;

     

      //设置对话框的大小

      Dimension dlgSize = customerWindow.getPreferredSize();

      Dimension frmSize = getSize();

      Point loc = getLocation();

      customerWindow.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);

      customerWindow.setModal(true);

      customerWindow.pack();

      customerWindow.show();

    }

    else if (userAuthority.equals("buyer"))

    {

      BuyerWindow buyerWindow =new BuyerWindow() ;

      Dimension dlgSize = buyerWindow.getPreferredSize();

      Dimension frmSize = getSize();

      Point loc = getLocation();

      buyerWindow.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);

      buyerWindow.setModal(true);

      buyerWindow.pack();

      buyerWindow.show();

    }

    else if (userAuthority.equals("saler")){

      SalesWindow salesWindow =new SalesWindow() ;

      Dimension dlgSize = salesWindow.getPreferredSize();

      Dimension frmSize = getSize();

      Point loc = getLocation();

      salesWindow.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);

      salesWindow.setModal(true);

      salesWindow.pack();

      salesWindow.show();

    }

    else if (userAuthority.equals("manager")){

      ManagementWindow managementWindow =new ManagementWindow() ;

      Dimension dlgSize = managementWindow.getPreferredSize();

      Dimension frmSize = getSize();

      Point loc = getLocation();

      managementWindow.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);

      managementWindow.setModal(true);

      managementWindow.pack();

      managementWindow.show();

    }

  }

}

 4.2 顾客注册界面

注册成功!!!!!

3.2.2顾客注册源代码

public class Registration extends JDialog implements ActionListener {

            String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

       String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=supermarket";

      

         String userName="sa";    //默认用户名

         String userPwd="123"; //密码

         Statement stmt=null;

         ResultSet rs =null;

         Connection dbConn=null;

      

  private JPanel panel1 = new JPanel();

  private BorderLayout borderLayout1 = new BorderLayout();

  private JPanel jPanel1 = new JPanel();

  private XYLayout xYLayout1 = new XYLayout();

  private JLabel jLabel1 = new JLabel();

  private JLabel jLabel2 = new JLabel();

  private JLabel jLabel3 = new JLabel();

  private JLabel jLabel4 = new JLabel();

  private JTextField jTextField1 = new JTextField();

  private JTextField jTextField2 = new JTextField();

  private JTextField jTextField3 = new JTextField();

  private JTextField jTextField4 = new JTextField();

  private JLabel jLabel5 = new JLabel();

  private JLabel jLabel6 = new JLabel();

  private JLabel jLabel7 = new JLabel();

  private JTextField jTextField5 = new JTextField();

  private JPasswordField jTextField6 = new JPasswordField();

  private JPasswordField jTextField7 = new JPasswordField();

  private JButton jButton1 = new JButton();

  private JButton jButton2 = new JButton();

  public Registration(Frame frame, String title, boolean modal) {

    super(frame, title, modal);

    try {

      jbInit();

      pack();

    }

    catch(Exception ex) {

      ex.printStackTrace();

    }

  }

  public Registration() {

    this(null, "", false);

  }

  private void jbInit() throws Exception {

    panel1.setLayout(borderLayout1);

    jPanel1.setLayout(xYLayout1);

    jLabel1.setText("姓名");

    jLabel2.setText("年龄");

    jLabel3.setText("性别");

    jLabel4.setText("类别");

    jLabel5.setText("请输入密码");

    jLabel6.setText("请再输一遍");

    jLabel7.setText("家庭住址");

    jButton1.setText("确定");

    jButton1.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {

        jButton1_actionPerformed(e);

      }

    });

    jButton2.setText("取消");

    jButton2.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {

        jButton2_actionPerformed(e);

      }

    });

    jPanel1.setPreferredSize(new Dimension(400, 300));

    jTextField4.setText("customer");

    getContentPane().add(panel1);

    panel1.add(jPanel1, BorderLayout.CENTER);

    jPanel1.add(jTextField1,  new XYConstraints(80, 31, 76, 25));

    jPanel1.add(jTextField2,   new XYConstraints(79, 76, 78, 23));

    jPanel1.add(jTextField3,  new XYConstraints(79, 119, 77, 25));

    jPanel1.add(jTextField4,  new XYConstraints(78, 159, 77, 26));

    jPanel1.add(jLabel4, new XYConstraints(26, 158, 42, 28));

    jPanel1.add(jLabel3, new XYConstraints(28, 118, 39, 28));

    jPanel1.add(jLabel2, new XYConstraints(28, 76, 48, 26));

    jPanel1.add(jLabel1,  new XYConstraints(31, 35, 41, 27));

    jPanel1.add(jLabel7, new XYConstraints(185, 30, 49, 25));

    jPanel1.add(jTextField5,     new XYConstraints(258, 35, 120, -1));

    jPanel1.add(jLabel5,  new XYConstraints(185, 78, 78, 23));

    jPanel1.add(jLabel6,    new XYConstraints(185, 116, 73, 23));

    jPanel1.add(jTextField7,    new XYConstraints(258, 119, 121, 23));

    jPanel1.add(jTextField6,  new XYConstraints(258, 79, 119, 24));

    jPanel1.add(jButton1,   new XYConstraints(197, 194, 80, 26));

    jPanel1.add(jButton2,    new XYConstraints(296, 194, 82, 26));

  }

  public void actionPerformed(ActionEvent ee){

  }

  void jButton1_actionPerformed(ActionEvent e) {

    String userGender = String.valueOf(jTextField1.getText()) ;

    int userAge = Integer.parseInt(String.valueOf(jTextField2.getText())) ;

    String  username= String.valueOf(jTextField3.getText()) ;

    String userAuthority = String.valueOf(jTextField4.getText()) ;

    String userAddress = String.valueOf(jTextField5.getText()) ;

    String userPassword = String.valueOf(jTextField6.getPassword()) ;

    String testPassword = String.valueOf(jTextField7.getPassword()) ;

    if(userPassword.equals(testPassword)){

   

              try{

            Class.forName(driverName);

           dbConn=DriverManager.getConnection(dbURL,userName,userPwd);

          

             Statement stmt = dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

             String sql = "INSERT INTO T_user values(?,?,?,?,?,?,?)";

             PreparedStatement ps=dbConn.prepareStatement(sql);

             

             try{

                       //ps.setString(1,);

                       ps.setString(1, username);

                       ps.setInt(2, userAge);

                       ps.setString(3, userGender);

                       ps.setString(4, userAuthority);

                       ps.setString(5, userAddress);

                       ps.setString(6, userPassword);

                       ps.setString(7, testPassword);

                       ps.executeUpdate();

                       }catch(SQLException e1)

                       {

                       e1.printStackTrace();

                       }

                      stmt.close();         

          

             JOptionPane.showMessageDialog(null,"注册成功,请重新登陆","",JOptionPane.DEFAULT_OPTION);

          }catch(Exception e1){

           System.out.println(e1.getMessage());

             System.out.println("连接失败!");

        }

          finally { 

           try { 

            if(rs != null) { 

             rs.close(); 

             rs = null; 

            } 

            if(stmt != null) { 

             stmt.close(); 

             stmt = null; 

            } 

            if(dbConn != null) { 

            dbConn.close(); 

             dbConn = null; 

            } 

           } catch (SQLException e1) { 

            e1.printStackTrace(); 

           } 

       }

    }

            

    else{

      JOptionPane.showMessageDialog(null,"您输入的密码前后不符,请重新输入","",JOptionPane.DEFAULT_OPTION);

    }

  }

  public void cancel(){

    dispose() ;

  }

  void jButton2_actionPerformed(ActionEvent e) {

    cancel() ;

  }

}

             

3.6.1销售界面

3.6.2销售界面源代码

public class SalesWindow extends JDialog {

        String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

     String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=supermarket";

  

       String userName="sa";    //默认用户名

       String userPwd="123"; //密码

       Statement stmt=null;

       ResultSet rs =null;

       Connection dbConn=null;

       String str=" ";

  private JPanel jPanel1 = new JPanel();

  private JTable Table1 = new JTable();

  private XYLayout xYLayout1 = new XYLayout();

  private JButton jButton1 = new JButton();

  private JButton jButton2 = new JButton();

  public SalesWindow(Frame frame, String title, boolean modal) {

    super(frame, title, modal);

    try {

      jbInit();

      pack();

    }

    catch(Exception ex) {

      ex.printStackTrace();

    }

  }

  public SalesWindow() {

    this(null, "", false);

  }

  private void jbInit() throws Exception {

   // database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:odbc:gaokaiSQL", "sa", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"));

    jPanel1.setLayout(xYLayout1);

    jButton1.setText("查看销售信息");

    jButton1.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {

        jButton1_actionPerformed(e);

      }

    });

    jButton2.setText("退出");

    jButton2.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {

        jButton2_actionPerformed(e);

      }

    });   

    try{

        Class.forName(driverName);

      dbConn=DriverManager.getConnection(dbURL,userName,userPwd);

        stmt = dbConn.createStatement(); 

        rs = stmt.executeQuery("SELECT VenditionID,GoodsName,GoodsCustomNumber," +

      "CustomerName,VenditionDate,GoodsSize,GoodsP" +

      "rice FROM vendition_TABLE"); 

         DefaultTableModel dtm = new DefaultTableModel();

         Vector Title = new Vector();

         //添加标题

         Title.add("VenditionID");

         Title.add("GoodsName");

         Title.add("GoodsCustomNumber");

         Title.add("CustomerName");

         Title.add("VenditionDate");

         Title.add("GoodsSize");

         Title.add("GoodsPrice");

       Vector vec=new Vector();

        while(rs.next()){

        Vector v=new Vector();

        v.addElement(String.valueOf(rs.getString("VenditionID")));

        v.addElement(String.valueOf(rs.getString("GoodsName")));

        v.addElement(String.valueOf(rs.getString("GoodsCustomNumber")));

        v.addElement(String.valueOf(rs.getString("CustomerName")));

        v.addElement(String.valueOf(rs.getString("VenditionDate")));

        v.addElement(String.valueOf(rs.getString("GoodsSize")));

        v.addElement(String.valueOf(rs.getString("GoodsPrice")));

        vec.addElement(v);

   

         }

      

      

        dtm.setDataVector(vec, Title);

        Table1.setModel(dtm);

        //table1=new JTable(vec,Title);

     }catch(Exception e1){

      System.out.println(e1.getMessage());

        System.out.println("连接数据库失败!");

   }

     finally { 

      try { 

       if(rs != null) { 

        rs.close(); 

        rs = null; 

       } 

       if(stmt != null) { 

        stmt.close(); 

        stmt = null; 

       } 

       if(dbConn != null) { 

       dbConn.close(); 

        dbConn = null; 

       } 

      } catch (SQLException e1) { 

       e1.printStackTrace(); 

      } 

  }

    this.getContentPane().add(jPanel1, BorderLayout.CENTER);

    jPanel1.add(Table1,        new XYConstraints(-1, 0, 336, 263));

    jPanel1.add(jButton1,   new XYConstraints(13, 274, 121, 21));

    jPanel1.add(jButton2,   new XYConstraints(232, 275, 94, 20));

  }

  void jButton1_actionPerformed(ActionEvent e) {

         try{

               Class.forName(driverName);

             dbConn=DriverManager.getConnection(dbURL,userName,userPwd);

            stmt = dbConn.createStatement(); 

           rs = stmt.executeQuery("SELECT * FROM Buyer_TABLE"); 

                DefaultTableModel dtm = new DefaultTableModel();

                Vector Title = new Vector();

                //添加标题

                Title.add("BuyerID");

                Title.add("BuyerGoodsName");

                Title.add("BuyerGoodsNumber");

                Title.add("BuyerManufacturer");

                Title.add("BuyerDate");

                Title.add("BuyerStatus");

              Vector vec=new Vector();

               while(rs.next()){ 

               Vector v=new Vector();

               v.addElement(String.valueOf(rs.getString("BuyerID")));

               v.addElement(String.valueOf(rs.getString("BuyerGoodsName")));

               v.addElement(String.valueOf(rs.getString("BuyerGoodsNumber")));

               v.addElement(String.valueOf(rs.getString("BuyerManufacturer")));

               v.addElement(String.valueOf(rs.getString("BuyerDate")));

               v.addElement(String.valueOf(rs.getString("BuyerStatus")));

               vec.addElement(v);

                }

               dtm.setDataVector(vec, Title);

               Table1.setModel(dtm);

               //table1=new JTable(vec,Title);

            }catch(Exception e1){

             System.out.println(e1.getMessage());

               System.out.println("连接数据库失败!");

          }

            finally { 

             try { 

              if(rs != null) { 

               rs.close(); 

               rs = null; 

              } 

              if(stmt != null) { 

               stmt.close(); 

               stmt = null; 

              } 

              if(dbConn != null) { 

              dbConn.close(); 

               dbConn = null; 

              } 

             } catch (SQLException e1) { 

              e1.printStackTrace(); 

             } 

         }

 }

}                                                

相关推荐