JavaSwing / C# 网吧管理系统

该系统是一个支持MySQL和SQLServer的网吧管理软件,包括JavaSwing和C#两种界面。系统包含管理员、会员、电脑和上机记录等表的设计,涉及字段如用户名、密码、性别、年龄等。代码中展示了管理员信息添加的JavaSwing窗体,包括数据验证和异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

此系统同时支持mysql,sqlserver,有javaswing窗体和C#窗体两套代码

数据库文件

网吧管理系统

数据库设计

关系模型

网吧管理员(主键,用户名,密码,名称,性别,年龄)

会员(主键,用户名,密码,身份证,姓名,性别,会员等级,余额,累计充值)

电脑(主键,编号,品牌,位置,配置,附带配件)

上机记录表(主键,机位编号,记录时间,费用元,姓名,会员等级,性别,身份证,上机时间,下机时间,总余额,实用余额,剩余余额,状态)

数据字典

网吧管理员表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

用户名

username

varchar(20)

not null;unique;

不可为空;字段唯一;

密码

password

varchar(20)

名称

name

varchar(18)

not null;unique;

不可为空;字段唯一;

性别

gender

varchar(10)

not null;

不可为空;

年龄

age

int

会员表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

用户名

username

varchar(20)

not null;unique;

不可为空;字段唯一;

密码

password

varchar(20)

身份证

idnum

varchar(18)

not null;

不可为空;

姓名

name

varchar(18)

not null;unique;

不可为空;字段唯一;

性别

gender

varchar(10)

会员等级

levels

int

余额

yue

double

累计充值

chongz

double

电脑表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

编号

name

varchar(18)

not null;unique;

不可为空;字段唯一;

品牌

brand

varchar(32)

not null;unique;

不可为空;字段唯一;

位置

position

varchar(255)

配置

peizhi

varchar(255)

附带配件

other

varchar(255)

上机记录表表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

机位编号

computerId

varchar(255)

记录时间

createtime

datetime

not null;

new Date()

费用元

fee

double

姓名

name

varchar(18)

not null;unique;

不可为空;字段唯一;

会员等级

levels

int

性别

gender

varchar(10)

身份证

idnum

varchar(18)

not null;

不可为空;

上机时间

intime

datetime

下机时间

endtime

datetime

总余额

money

double

实用余额

m2

double

剩余余额

m3

double

money-m2

状态

status

varchar(255)

部分代码

package com.codeying.frame;
 import com.codeying.dao.*;
import com.codeying.entity.*;
import com.codeying.utils.JdbcUtils;
import com.codeying.utils.Utils;
import com.mysql.jdbc.StringUtils;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Date;

public class FormAdminAdd extends JInternalFrame {

    private JPanel jContentPane;
    private JTextField tb_id = new JTextField();
                  private JLabel label_username = new JLabel("用户名");
                private JTextField tb_username= new JTextField();
                         private JLabel label_password = new JLabel("密码");
                private JTextField tb_password= new JTextField();
                         private JLabel label_name = new JLabel("名称");
                private JTextField tb_name= new JTextField();
                         private JLabel label_gender = new JLabel("性别");
                private JComboBox tb_gender = new JComboBox();
                         private JLabel label_age = new JLabel("年龄");
                private JTextField tb_age= new JTextField();
                private JButton btn = new JButton("添加");
    private URL imgURL ;
    private BtnListener btnListener;

    public FormAdminAdd (){
        init();
    }

    //按钮点击事件
    public class BtnListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            Admin entityValue = new Admin ();
            entityValue.setId(Utils.newId());
                                        String id;//主键
                            String username;//用户名
                            String password;//密码
                            String name;//名称
                            String gender;//性别
                            Integer age;//年龄
                                                                                                    //不可为空字段
                    if (StringUtils.isNullOrEmpty(tb_username .getText().trim()))
                    {
                        JOptionPane.showMessageDialog(null, "用户名 不可为空");return;
                    }
                                                                                            //不可为空字段
                    if (StringUtils.isNullOrEmpty(tb_name .getText().trim()))
                    {
                        JOptionPane.showMessageDialog(null, "名称 不可为空");return;
                    }
                                                                if (StringUtils.isNullOrEmpty((String)(tb_gender .getSelectedItem())))//检查下拉框是否为空
                    {
                        JOptionPane.showMessageDialog(null, "性别 不可为空");return;
                    }
                                                                    //校验输入合法,获取输入值
                                                id = Utils.newId();
                    entityValue.setId (id);
                                                                username = tb_username .getText().trim();
                    if(FormAdminAdd .illegalAdd(null,"username",username)){
                        JOptionPane.showMessageDialog(null, "用户名 : 已存在!");return;
                    }
                    entityValue.setUsername (username);
                                                                password = tb_password .getText().trim() ;
                    entityValue.setPassword (password);//字符串
                                                                name = tb_name .getText().trim();
                    if(FormAdminAdd .illegalAdd(null,"name",name)){
                        JOptionPane.showMessageDialog(null, "名称 : 已存在!");return;
                    }
                    entityValue.setName (name);
                                                                gender = (String)(tb_gender .getSelectedItem());
                    entityValue.setGender ( gender );//下拉框
                                                                age = Utils.strToInt(tb_age .getText().trim());//int
                    if(!StringUtils.isNullOrEmpty(tb_age .getText().trim()) && age==null){
                        JOptionPane.showMessageDialog(null, Utils.DIGIT_ERROR);return;
                    }
                    entityValue.setAge (age);
                                        //提交
            int res = AdminDao.me().insert(entityValue);
            if(res==1){
                JOptionPane.showMessageDialog(null, "添加成功!");
            }else{
                JOptionPane.showMessageDialog(null, "添加失败");
            }
        }
    }

    //初始化界面
    public void init(){
        //设置下拉框
                                                                                                                                                                                tb_gender .addItem("");
                                            tb_gender .addItem("男");
                                            tb_gender .addItem("女");
                                                                                                    //设置主窗体
        this.setSize(296, 450);
        this.setTitle("添加网吧管理员");//窗体名
        this.setResizable(true);
        this.setClosable(true);
        this.setMaximizable(true);
        this.setIconifiable(true);
        int x = 29,y = 1;
                                                                                label_username .setBounds(new Rectangle(x, y, 71, 19));
                    tb_username .setBounds(new Rectangle(x+90, y, 124, 23));
                    y+=30;
                                                                                       label_password .setBounds(new Rectangle(x, y, 71, 19));
                    tb_password .setBounds(new Rectangle(x+90, y, 124, 23));
                    y+=30;
                                                                                       label_name .setBounds(new Rectangle(x, y, 71, 19));
                    tb_name .setBounds(new Rectangle(x+90, y, 124, 23));
                    y+=30;
                                                                                     label_gender .setBounds(new Rectangle(x, y, 71, 19));
                    tb_gender .setBounds(new Rectangle(x+90, y, 124, 23));
                    y+=30;
                                                                                     label_age .setBounds(new Rectangle(x, y, 71, 19));
                    tb_age .setBounds(new Rectangle(x+90, y, 124, 23));
                    y+=30;
                                            btn.setBounds(new Rectangle(130, y, 100, 26));
        getRootPane().setDefaultButton(btn);// 设置回车键

        jContentPane = new JPanel();// 新建jPanel面板
        jContentPane.setLayout(null);
        jContentPane.setBackground(new Color(255, 255, 255));
        setContentPane(jContentPane);
                  jContentPane.add(label_username);
        jContentPane.add(tb_username);
                 jContentPane.add(label_password);
        jContentPane.add(tb_password);
                 jContentPane.add(label_name);
        jContentPane.add(tb_name);
                 jContentPane.add(label_gender);
        jContentPane.add(tb_gender);
                 jContentPane.add(label_age);
        jContentPane.add(tb_age);
            jContentPane.add(btn);
        btnListener = new BtnListener();
        btn.addActionListener(btnListener);
    }

        //唯一判断
        public static boolean illegalAdd(String id,String key,String val){
            Admin entityValue = AdminDao.me().getBy(key,val);
            if(entityValue == null){
                return false;//不重复
            }else {
                if(id==null){
                    return true;//非法
                }else {
                    if(id.equals(entityValue.getId())){
                        return false;
                    }
                    return true;//合法
                }
            }
        }
}

系统截图

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值