精华内容
下载资源
问答
  • 创建显示学生年龄的窗体
    2020-05-18 11:09:19

    简介: 设计一个Windows应用程序,在该程序中首先构造一个学生基本类,在分别构造小学生、中学生、中职生、大学生等派生类,要求具有不同的特征和行为,能通过静态成员自动记录不同的学生人数。

    1. 界面截图
    2. 分部实现
    3. 总代码

    界面截图:在这里插入图片描述
    知识点:需要用到tabcontrol控件,button控件,label控件,Textbox控件,foreach循环遍历,list动态数组

    1.小学生类:

    class MinStudent {
            
            protected string name;
            protected string sex;
            protected string school;
            private int grade;
            private static int sum = 0;
            public string Name
            {
                get {
                    return name;
                }
    
            }
            public void add()
            {
                sum++;
            }
            public MinStudent(string name ,string sex ,string school,int grade)
            {
                this.name = name;
                this.sex = sex;
                this.school = school;
                this.grade = grade;
            }
            public string Search()
            {
    
                return string.Format("{0}的性别为{1}\n学校为{2}\n成绩为{3}\n学生人数{4}",name,sex,school,grade,sum);
            }
        }
    
    }
    
    

    2.添加按钮点击事件:

     private void btn_add1_Click(object sender, EventArgs e)
            {
                
                if(txtBN.Text == "" || txtBS.Text==""||txtBSh.Text ==""||txtBG.Text=="")
                {
                    label5.Text = "信息填写错误或不完全";
                }
                else
                {
                    label5.Text = "添加成功";
                    string nam = txtBN.Text;
                    string sex = txtBS.Text;
                    string school = txtBSh.Text;
                    int garde = int.Parse(txtBG.Text);
                    MinStudent min = new MinStudent(nam, sex, school, garde);
                    mins.Add(min);
                    min.add();
                }
            }
    
    

    3.查询按钮点击事件

     private void btn_search1_Click(object sender, EventArgs e)
            {
    
    
                
                foreach (MinStudent min in mins)
                {
                    if (min.Name == txtBN.Text)
                    {
                        label5.Text = min.Search();
                        return;
                    }
    
                }
                label5.Text = "存储数据中无此人信息";
    
    
    
            }
    

    4.创建中学生派生类:

     class MidStudent : MinStudent
        {
            private int age;
            private static int sum = 0;
            public MidStudent(string name,string sex,string school):base (name,sex,school){}
            public override int Get
            {
                set { age = value; }
            }
            public override string Search()
            {
                return string.Format("{0}的性别为{1}\n学校为{2}\n年龄为{3}\n学生人数{4}", name, sex, school, age, sum);
            }
            public override void add()
            {
                sum++;
            }
        }
    

    总代码:

    namespace 实验四
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
    
            List<MinStudent> mins = new List<MinStudent>();
            List<MidStudent> mids = new List<MidStudent>();
            List<ProStudent> pros = new List<ProStudent>();
            List<ColStudent> cols = new List<ColStudent>();
            private void btn_add1_Click(object sender, EventArgs e)
            {
                
                if(txtBN.Text == "" || txtBS.Text==""||txtBSh.Text ==""||txtBG.Text=="")
                {
                    label5.Text = "信息填写错误或不完全";
                }
                else
                {
                    label5.Text = "添加成功";
                    string nam = txtBN.Text;
                    string sex = txtBS.Text;
                    string school = txtBSh.Text;
                    int garde = int.Parse(txtBG.Text);
                    MinStudent min = new MinStudent(nam, sex, school);
                    min.Get = garde;
                    mins.Add(min);
                    min.add();
                }
            }
            private void btn_search1_Click(object sender, EventArgs e)
            {            
                foreach (MinStudent min in mins)
                {
                    if (min.Name == txtBN.Text)
                    {
                        label5.Text = min.Search();
                        return;
                    }
    
                }
                label5.Text = "存储数据中无此人信息";
    
    
    
            }
    
            private void btn_add2_Click(object sender, EventArgs e)
            {
                if (txtBN2.Text == "" || txtBS2.Text == "" || txtBSh2.Text == "" || txtBAge.Text == "")
                    label10.Text = "信息填写错误或不全";
                else
                {
                    label10.Text = "添加成功";
                    string nam = txtBN2.Text;
                    string sex = txtBS2.Text;
                    string school = txtBSh2.Text;
                    int age = int.Parse(txtBAge.Text);
                    MidStudent mid = new MidStudent(nam, sex, school);
                    mid.Get = age;
                    mids.Add(mid);
                    mid.add();
                }
            }
            private void btn_search2_Click(object sender, EventArgs e)
            {
                foreach (MidStudent mid in mids)
                {
                    if (mid.Name == txtBN2.Text)
                    {
                        label10.Text = mid.Search();
                        return;
                    }
    
                }
                label10.Text = "存储数据中无此人信息";
            }
    
            private void btn_add3_Click(object sender, EventArgs e)
            {
                if (txtBN3.Text == "" || txtBS3.Text == "" || txtBSh3.Text == "" || txtBYear.Text == "")
                    label11.Text = "信息填写错误或不全";
                else
                {
                    label11.Text = "添加成功";
                    string nam = txtBN3.Text;
                    string sex = txtBS3.Text;
                    string school = txtBSh3.Text;
                    int year = int.Parse(txtBYear.Text);
                    ProStudent pro = new ProStudent(nam, sex, school);
                    pro.Get = year;
                    pros.Add(pro);
                    pro.add();
                }
            }
            private void btn_search3_Click(object sender, EventArgs e)
            {
                foreach (ProStudent pro in pros)
                {
                    if (pro.Name == txtBN3.Text)
                    {
                        label11.Text = pro.Search();
                        return;
                    }
    
                }
                label11.Text = "存储数据中无此人信息";
            }
    
            private void btn_search4_Click(object sender, EventArgs e)
            {
                foreach (ColStudent col in cols)
                {
                    if (col.Name == txtBN4.Text)
                    {
                        label16.Text = col.Search();
                        return;
                    }
    
                }
                label16.Text = "存储数据中无此人信息";
            }
    
            private void btn_add4_Click(object sender, EventArgs e)
            {
                if (txtBN4.Text == "" || txtBS4.Text == "" || txtBSh4.Text == "" || txtBsubject.Text == "")
                    label16.Text = "信息填写错误或不全";
                else
                {
                    label16.Text = "添加成功";
                    string nam = txtBN4.Text;
                    string sex = txtBS4.Text;
                    string school = txtBSh4.Text;
                    string subject = txtBsubject.Text;
                    ColStudent col =new ColStudent(nam, sex, school);
                    col.Get = subject;
                    cols.Add(col);
                    col.add();
                }
            }
        }
    
    
        class MinStudent {
            
            protected string name;
            protected string sex;
            protected string school;
            private int grade;
            private static int sum = 0;
    
            public virtual  int Get
            {
                set
                {
                    this.grade = value;
                }
            }
            public string Name
            {
                get {
                    return name;
                }
    
            }
            public virtual void add()
            {
                sum++;
            }
            public MinStudent(string name ,string sex ,string school)
            {
                this.name = name;
                this.sex = sex;
                this.school = school;
                
            }
            public virtual string  Search()
            {
    
                return string.Format("{0}的性别为{1}\n学校为{2}\n成绩为{3}\n学生人数{4}",name,sex,school,grade,sum);
            }
        }
        class MidStudent : MinStudent
        {
            private int age;
            private static int sum = 0;
            public MidStudent(string name,string sex,string school):base (name,sex,school){}
            public override int Get
            {
                set { age = value; }
            }
            public override string Search()
            {
                return string.Format("{0}的性别为{1}\n学校为{2}\n年龄为{3}\n学生人数{4}", name, sex, school, age, sum);
            }
            public override void add()
            {
                sum++;
            }
        }
        class ProStudent : MidStudent
        {
            public ProStudent(string name,string sex,string school) : base(name, sex, school) { }
            private int year;
            private static int sum = 0;
            public override int Get { set { this.year = value; } }
            public override string Search()
            {
                return string.Format("{0}的性别为{1}\n学校为{2}\n年制为{3}\n学生人数{4}", name, sex, school,year, sum); 
            }
            public override void add()
            {
                sum++;
            }
        }
        class ColStudent : ProStudent
        {
            public ColStudent(string name, string sex, string school) : base(name, sex, school) { }
            private string subject;
            private static int sum = 0;
            new public string Get
            {
                set { this.subject = value; }
            }
            public override string Search()
            {
                return string.Format("{0}的性别为{1}\n学校为{2}\n学科为{3}\n学生人数{4}", name, sex, school, subject, sum);
            }
            public override void add()
            {
                sum++;
            }
        }
    }
    
    
    更多相关内容
  • 2019access创建数据表、查询和窗体

    万次阅读 2019-10-25 13:59:14
    打开access,在菜单栏选择创建,我们可以看到有 “表格” 、“查询”、“窗体”等模块,我们可以通过这些按钮来进行表的创建、查询设计、窗体创建。 图一图一图一 1.创建表 1)点击 “表” 点击 “表” ,出现下...

    2019 access创建数据表、查询和窗体

    打开access,在菜单栏选择创建,我们可以看到有 “表格” 、“查询”、“窗体”等模块,我们可以通过这些按钮来进行表的创建、查询设计、窗体的创建。
    在这里插入图片描述
    图 一 图一

    1.创建表

    1)点击 “表”

    点击图一的 “表” ,出现下图,其中第一列 ID 是表默认的一个自增序列
    在这里插入图片描述
    图 二 图二
    单击 “单击已添加”,出现下图,你可以选择你想要添加的数据类型,如:“数字”、“短文本”等,其余数据补充与 EXCEL 类似
    在这里插入图片描述 图 三 图三
    如果你想删除 ID 这一列号,右击上图(图三)箭头处,出现下图,选择设计视图,过程中可能会弹出保存页面,输入表的名字,保存即可。
    在这里插入图片描述
    图 四 图四
    接着,我们进入到了表的设计视图,如下(图五),在这个视图下我们可以删除 ID列,也可以添加其他列、设置主键
    在这里插入图片描述
    图 五 图五
    右击下图(图六)箭头处,可以选择取消和设置这一列为主键,如果想要设置多个主键,可以按住"Ctrl"同时选中多个标签,设置为主键.在这里插入图片描述
    图 六 图六
    如下图(图七), 我已创建好了三个数据表, “boats” 表是船的信息表,其中包括bname(船的名字)、bid(船的编号);“sailors”表是水手的表,即可以预定船的顾客的信息,其中包括sid(水手编号)、sname(水手名字)、rating(水手等级)、age(水手年龄);“reserves”表是船的预定表,其中包括,id(预定号)、sid(水手编号)、bid(船的编号)、date(预定的日期),我们可以对这三个数据表建立表与表之间的关系。
    在这里插入图片描述
    图 七 图七
    点击菜单栏的 “数据库工具” , 接着点击出现的 “关系” ,出现下图(图八)
    在这里插入图片描述
    图 八 图八
    点击上图中的 “显示表”, 出现我们刚刚建立的三个表, 如下,我们可以双击选择或者选中该表并单击页面的 “添加” 按钮来添加一个表 .
    在这里插入图片描述
    图 九 图九
    现在我们选中三个表来创建关系, 选中一个表中的任一标签拖动到另一个表即可出现编辑关系页面, 选择两个表中相同的标签, 即可成功创建它们之间的关系, 如下图(图十),选择结束之后单击确定即可.在这里插入图片描述
    图 10 图10 10

    2.创建查询

    建立好表和关系后,我们就可以根据它们新建查询了, 点击图一中的 “查询设计”( 菜单栏下的"创建" ), 就进入了查询设计试图页面 , 同样我们可以选择我们要基于哪些表来查询,如下图
    在这里插入图片描述
    图 11 图11 11
    我们选择刚刚建好的三张表,在下图中的 “字段” 中选择你要限定的标签,在 “条件”位置填写你对这个标签值的限定条件,如下图(图12)
    在这里插入图片描述
    图 12 图12 12
    确定好条件之后,点击上图最左侧的 “视图”,选择数据表视c图,就可以看到该条件下的查询结果了。
    在这里插入图片描述
    图 13 图13 13
    除了上述的创建查询的方法,你还可以通过:

    1. 在图一上(菜单栏“创建”下)的 “查询向导” 的指示下一步一步完成查询
    2. 在图13中最左端的视图下选择SQL视图,用SQL语言写查询条件,生成数据表,如:图14在这里插入图片描述
      图 14 图14 14

    3.创建窗体

    在图一(菜单栏“创建”下)选择空白窗体,到如下图:
    在这里插入图片描述
    图 15 图15 15
    选择上图右侧 “字段列表” 中的 “显示所有表”,双击选择你想要显示的信息,如下:
    在这里插入图片描述
    图 16 图16 16
    创建出来的这个窗口作为一个要显示的弹窗,你可以直接在下方的搜索栏里面搜索相关的数据,也可以将它作为其他表的一个特定显示窗口,保存为窗体信息查询列表。例如,你想要在一个窗口上输入一只船的名字,然后就能显示出它的颜色及编号,你就可以将上面的窗体作为它要弹出的窗体。现在,你需要创建一个新的窗口,作为输入船的名字的窗体,并将它输入的值与该窗体的船的名字连接起来。
    再创建一个新的 “空白窗体”,如上,选择 “窗体布局” 下的 “设计”,如下:
    在这里插入图片描述
    图 17 图17 17
    单击选择上图红箭头指向的 “ 文本框”,点击它,在窗体上画文本框,会弹出来一个向导页面,可以设置这个文本框的字体、输入法、对齐参数等等,在最后页面输入你的文本框的名字,如: text0, 单击完成。
    在这里插入图片描述
    图 17 图17 17
    接着单击下图中红色箭头指向的 “按钮” 图标,
    在这里插入图片描述
    图 18 图18 18
    在窗体内画按钮,弹出页面,选择 “窗体操作” ,选择 “ 打开窗体”,单击下一步,
    在这里插入图片描述
    图 19 图19 19
    选择你将要弹出的窗体,我们要显示船的信息,就选择刚刚创建的 “窗体信息查询列表”,单击下一步
    在这里插入图片描述
    我们要显示是的与输入的船的名字相关的信息,选择 “打开窗体并查找要显示的特定数据”,单击下一步
    在这里插入图片描述
    选择左侧该窗体下的 “text0 ” 和 右侧窗口的船的名字 “bname”,单击红箭头指向的图标,将这两个值关联起来,单击下一步
    在这里插入图片描述
    选择在按钮上显示图片还是文字,在这里我们选择显示文字 “ 查询 ”,单击下一步
    在这里插入图片描述
    指定按钮的名称,可以采取默认,单击完成。
    在这里插入图片描述
    单击最左侧的 “视图”,选择 “窗体视图”,在 text0 文本框内输入一个船的名字 “aaaa”,单击查询
    在这里插入图片描述
    即可弹出要显示的信息,如下:
    在这里插入图片描述这样,我们创建窗体和弹出窗体就完成了,你可以在窗体的 “布局视图” 设置背景图片,如下:
    在这里插入图片描述
    也可以在布局视图下拖动调整按钮的位置等等,如下:
    在这里插入图片描述

    展开全文
  • 上一次一个小伙伴私聊我,说:有没有swing版本的学生管理系统让他参考一下。 这次给他安排上啦! 首先来看看有什么文件吧(得要有个适合自己的命名规则很重要,如果自己都看不懂,那么别人就更难懂啦!) //我...

    上一次一个小伙伴私聊我,说:有没有swing版本的学生管理系统让他参考一下。

    这次给他安排上啦!

     首先来看看有什么文件吧(得要有个适合自己的命名规则很重要,如果自己都看不懂,那么别人就更难懂啦!)

     

     //我根据图片的信息来写文件内容吧!

    这是dao方法

     

    package com.zking.dao;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    
    import com.zking.entity.Student;
    import com.zking.util.DBHelper;
    
    public class StudentDao {
    	
    	/**
    	 * 模糊查询
    	 * @param col 字段名
    	 * @param str 关键字
    	 * @return 返回查询到的集合
    	 */
    	public ArrayList<Student> getByLike(String col,String str){
    		ArrayList<Student> slist = new ArrayList<>();
    		Connection con = null;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		try {
    			con = DBHelper.getCon();
    			ps = con.prepareStatement("select * from Student where "+col+" like '%"+str+"%'");
    			rs = ps.executeQuery();
    			//处理结果:集合/影响行数
    			while(rs.next()) {
    				int sid = rs.getInt(1);
    				String sname = rs.getString(2);
    				String ssex = rs.getString(3);
    				int sage = rs.getInt(4);
    				double score = rs.getDouble(5);
    				String saddress = rs.getString(6);
    				String slike = rs.getString(7);
    				
    				//实例化学生对象
    				Student stu = new Student(sid, sname, ssex, sage, score, saddress, slike);
    				//把学生对象放到集合中
    				slist.add(stu);
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			DBHelper.closeDB(con, ps, rs);
    		}
    		return slist;
    	}
    	public Student getById(int sid ){
    		Student stu = null;
    		Connection con = null;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		try {
    			con = DBHelper.getCon();
    			ps = con.prepareStatement("select * from Student where sid="+sid);
    			rs = ps.executeQuery();
    			//处理结果:集合/影响行数
    			if(rs.next()) {
    				String sname = rs.getString(2);
    				String ssex = rs.getString(3);
    				int sage = rs.getInt(4);
    				double score = rs.getDouble(5);
    				String saddress = rs.getString(6);
    				String slike = rs.getString(7);
    				String sgxqm = rs.getString(8);
    				
    				//实例化学生对象
    				stu = new Student(sid, sname, ssex, sage, score, saddress, slike,sgxqm);
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			DBHelper.closeDB(con, ps, rs);
    		}
    		return stu;
    	}
    	
    	/**
    	 * 添加学生
    	 * @param stu 添加的学生对象
    	 * @return 成功返回1,失败返回0
    	 */
    	public int addStu(Student stu){
    		Connection con = null;
    		PreparedStatement ps = null;
    		int i = 0;
    		try {
    			con = DBHelper.getCon();
    			ps = con.prepareStatement("insert into Student(sname,ssex,slike,saddress,sgxqm) values(?,?,?,?,?)");
    			ps.setString(1, stu.getSname());
    			ps.setString(2, stu.getSsex());
    			ps.setString(3, stu.getSlike());
    			ps.setString(4, stu.getSaddress());
    			ps.setString(5, stu.getSgxqm());
    			//处理结果:集合/影响行数
    			i = ps.executeUpdate();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			DBHelper.closeDB(con, ps, null);
    		}
    		return i;
    	}
    	
    	/**
    	 * 修改方法
    	 * @param sid 要修改的学生学号
    	 * @param stu 修改后的学生信息
    	 * @return 成功返回1,失败返回0
    	 */
    	public int upStu(int sid,Student stu){
    		Connection con = null;
    		PreparedStatement ps = null;
    		int i = 0;
    		try {
    			con = DBHelper.getCon();
    			ps = con.prepareStatement("update Student set sname=?,ssex=?,slike=?,saddress=?,sgxqm=? where sid="+sid);
    			ps.setString(1, stu.getSname());
    			ps.setString(2, stu.getSsex());
    			ps.setString(3, stu.getSlike());
    			ps.setString(4, stu.getSaddress());
    			ps.setString(5, stu.getSgxqm());
    			//处理结果:集合/影响行数
    			i = ps.executeUpdate();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			DBHelper.closeDB(con, ps, null);
    		}
    		return i;
    	}
    	
    	/**
    	 * 删除学生
    	 * @param sid 要删除的学生学号
    	 * @return 成功就返回1
    	 */
    	public int delById(int sid){
    		Connection con = null;
    		PreparedStatement ps = null;
    		int i = 0;
    		try {
    			con = DBHelper.getCon();
    			ps = con.prepareStatement("delete student where sid="+sid);
    			//处理结果:集合/影响行数
    			i = ps.executeUpdate();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			DBHelper.closeDB(con, ps, null);
    		}
    		return i;
    	}
    
    
    
    }
    
    

    实体类来啦(根据自己所需要的字段来写哦!)

    package com.zking.entity;
    
    public class Student {
    	private int sid;
    	private String sname;
    	private String ssex;
    	private int sage;
    	private double score;
    	private String saddress;
    	private String slike;
    	private String sgxqm;
    	public Student(int sid, String sname, String ssex, int sage, double score, String saddress, String slike,
    			String sgxqm) {
    		super();
    		this.sid = sid;
    		this.sname = sname;
    		this.ssex = ssex;
    		this.sage = sage;
    		this.score = score;
    		this.saddress = saddress;
    		this.slike = slike;
    		this.sgxqm = sgxqm;
    	}
    	public Student(String sname, String ssex, String saddress, String slike, String sgxqm) {
    		super();
    		this.sname = sname;
    		this.ssex = ssex;
    		this.saddress = saddress;
    		this.slike = slike;
    		this.sgxqm = sgxqm;
    	}
    	public String getSgxqm() {
    		return sgxqm;
    	}
    	public void setSgxqm(String sgxqm) {
    		this.sgxqm = sgxqm;
    	}
    	public Student() {
    	}
    	public Student(String sname, String ssex, int sage, double score, String saddress, String slike) {
    		this.sname = sname;
    		this.ssex = ssex;
    		this.sage = sage;
    		this.score = score;
    		this.saddress = saddress;
    		this.slike = slike;
    	}
    	public Student(int sid, String sname, String ssex, int sage, double score, String saddress, String slike) {
    		this.sid = sid;
    		this.sname = sname;
    		this.ssex = ssex;
    		this.sage = sage;
    		this.score = score;
    		this.saddress = saddress;
    		this.slike = slike;
    	}
    	public int getSid() {
    		return sid;
    	}
    	public void setSid(int sid) {
    		this.sid = sid;
    	}
    	public String getSname() {
    		return sname;
    	}
    	public void setSname(String sname) {
    		this.sname = sname;
    	}
    	public String getSsex() {
    		return ssex;
    	}
    	public void setSsex(String ssex) {
    		this.ssex = ssex;
    	}
    	public int getSage() {
    		return sage;
    	}
    	public void setSage(int sage) {
    		this.sage = sage;
    	}
    	public double getScore() {
    		return score;
    	}
    	public void setScore(double score) {
    		this.score = score;
    	}
    	public String getSaddress() {
    		return saddress;
    	}
    	public void setSaddress(String saddress) {
    		this.saddress = saddress;
    	}
    	public String getSlike() {
    		return slike;
    	}
    	public void setSlike(String slike) {
    		this.slike = slike;
    	}
    	@Override
    	public String toString() {
    		return "Student [sid=" + sid + ", sname=" + sname + ", ssex=" + ssex + ", sage=" + sage + ", score=" + score
    				+ ", saddress=" + saddress + ", slike=" + slike + "]";
    	}
    
    }
    

    UI窗体类来啦!(这是主窗体!)

    package com.zking.ui;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.Vector;
    
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.table.DefaultTableModel;
    
    import com.zking.dao.StudentDao;
    import com.zking.entity.Student;
    
    public class Index_UI extends JFrame {
    	//上
    	JPanel topjp = new JPanel();
    	//下拉框
    	JComboBox<String> jcb = new JComboBox<>();
    	//文本框
    	JTextField jtf = new JTextField(10);
    	//按钮
    	JButton jbcx = new JButton("查询");
    	
    	//中
    	JTable jt = new JTable();
    	//表模式
    	DefaultTableModel dtm = new DefaultTableModel();
    	//滚动面板-给表格添加滚动面板
    	JScrollPane jsp = new JScrollPane(jt);
    	
    	
    	//下
    	JPanel bottomjp = new JPanel();
    	JButton jbadd = new JButton("添加");
    	JButton jbdel = new JButton("删除");
    	JButton jbup = new JButton("修改");
    	JButton jbxq = new JButton("详情");
    	JButton jbexit = new JButton("退出");
    	
    	
    	
    	
    	public Index_UI() {
    		this.setTitle("主窗体");
    		this.setSize(500, 500);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setLocationRelativeTo(null);
    		
    		//上面的画布
    		topjp.add(jcb);
    		jcb.addItem("姓名");
    		jcb.addItem("性别");
    		jcb.addItem("地址");
    		topjp.add(jtf);
    		topjp.add(jbcx);
    
    		//中间
    		//设置表模式
    		jt.setModel(dtm);
    		//给表格添加标题
    		dtm.addColumn("学号");
    		dtm.addColumn("姓名");
    		dtm.addColumn("性别");
    		dtm.addColumn("年龄");
    		dtm.addColumn("地址");
    		
    		
    		//调用showInfo方法 给表格绑定数据
    		showInfo("sname", "");
    		
    		
    		//下面的画布
    		bottomjp.add(jbadd);
    		bottomjp.add(jbdel);
    		bottomjp.add(jbup);
    		bottomjp.add(jbxq);
    		bottomjp.add(jbexit);
    		
    		
    		
    		
    		//给查询按钮添加事件-匿名内部类
    		jbcx.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				//获取下拉框中选中的选项
    				String col = jcb.getSelectedItem()+"";
    				if(col.equals("姓名")) {
    					col = "sname";
    				}else if(col.equals("性别")) {
    					col = "ssex";
    				}else {
    					col = "saddress";
    				}
    				//获取关键字
    				String str = jtf.getText();
    				System.out.println("字段:"+col);
    				System.out.println("关键字:"+str);
    				
    				//调用showInfo方法给表格绑定数据
    				showInfo(col, str);
    				
    			}
    		});
    		
    		
    		//给添加按钮添加事件
    		jbadd.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				//打开添加窗体-同时把本窗体传过去
    				new AddStu_UI(Index_UI.this);
    			}
    		});
    		
    		//给删除按钮添加事件
    		jbdel.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				// 获取选中的行下标-未选中返回-1
    				int row = jt.getSelectedRow();
    				if (row >= 0) {
    					// 获取选中行中的学生学号(第一列)
    					String id = dtm.getValueAt(row, 0) + "";
    					// 把字符串编号 转换为int
    					int sid = Integer.valueOf(id);
    					if (JOptionPane.showConfirmDialog(null, "确认要删除吗?") == 0) {
    						// 调用删除方法
    						int i = new StudentDao().delById(sid);
    						if (i == 1) {
    							JOptionPane.showMessageDialog(null, "删除成功");
    							// 刷新本窗体数据
    							showInfo("saddress", "");
    						} else {
    							JOptionPane.showMessageDialog(null, "删除失败");
    						}
    					} else {
    						JOptionPane.showMessageDialog(null, "取消删除");
    					}
    				}else {
    					JOptionPane.showMessageDialog(null, "请选中要删除的学生");
    				}
    			}
    		});
    		
    		
    		//给修改按钮添加事件
    		jbup.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				//获取要修改的学生学号
    				//获取选中的行
    				int row = jt.getSelectedRow();
    				//获取学号
    				String id = dtm.getValueAt(row, 0)+"";
    				int sid = Integer.valueOf(id);
    				
    				//根据学号查询到学生对象
    				Student stu = new StudentDao().getById(sid);
    				System.out.println(stu);
    				//打开修改窗体
    				new UpStu_UI(stu,Index_UI.this);
    			}
    		});
    		
    		
    		//上边的画布
    		this.getContentPane().add("North",topjp);
    		this.getContentPane().add("Center",jsp);
    		this.getContentPane().add("South",bottomjp);
    		this.setVisible(true);
    	}
    	
    	/**
    	 * 给表格绑定数据
    	 * @param col 字段名
    	 * @param str 关键字
    	 */
    	public void showInfo(String col, String str) {
    		//清空表格中的老数据
    		int count = jt.getRowCount();//获取到表格中的所有数据的总行数
    		System.out.println("数据行:"+count);
    		for(int i=0;i<count;i++) {
    			dtm.removeRow(0);
    		}
    		// 实例化学生dao类
    		StudentDao sd = new StudentDao();
    		ArrayList<Student> slist = sd.getByLike(col, str);
    		// 遍历集合
    		for (Student s : slist) {
    			// 创建一个集合,用来接收要往表格中添加的数据
    			Vector<Object> v = new Vector<>();
    			v.add(s.getSid());
    			v.add(s.getSname());
    			v.add(s.getSsex());
    			v.add(s.getSage());
    			v.add(s.getSaddress());
    			// 行:row
    			dtm.addRow(v);
    		}
    	}

    //我就写一个修改的窗体啦(因为添加也差不多啦)

     

    package com.zking.ui;
    
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.ButtonGroup;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    import com.zking.dao.StudentDao;
    import com.zking.entity.Student;
    
    /**
     * 添加学生
     * @author d
     *
     */
    public class UpStu_UI extends JFrame {
    	
    	public UpStu_UI(Student stu,Index_UI index) {
    		
    		this.setTitle("修改学生");
    		this.setSize(350, 500);
    		this.setLocationRelativeTo(null);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//画布
    		JPanel jp = new JPanel();
    		//布局对象-网袋布局
    		GridBagLayout gbl = new GridBagLayout();
    		//约束对象
    		GridBagConstraints gbc = new GridBagConstraints();
    		//设置画布布局
    		jp.setLayout(gbl);
    		
    		//用户名文本
    		JLabel jlname = new JLabel("姓名:");
    		//约束坐标位置
    		gbc.gridx = 0;
    		gbc.gridy = 0;
    		//设置组件
    		gbl.setConstraints(jlname, gbc);
    		//把组件添加到画布上
    		jp.add(jlname);
    		
    		//用户文本框
    		JTextField jtname = new JTextField(10);
    		gbc.gridx = 1;
    		gbc.gridy = 0;
    		//设置组件
    		gbl.setConstraints(jtname, gbc);
    		//把组件添加到画布上
    		jp.add(jtname);
    		
    		//性别文本
    		JLabel jlsex = new JLabel("性别:");
    		//约束位置
    		gbc.gridx = 0;
    		gbc.gridy = 1;
    		//设置组件位置
    		gbl.setConstraints(jlsex, gbc);
    		//添加到画布
    		jp.add(jlsex);
    		
    		//单选按钮
    		JRadioButton jrboy = new JRadioButton("女");
    		gbc.insets = new Insets(0, -80, 0, 0);
    		gbc.gridx = 1;
    		gbc.gridy = 1;
    		gbl.setConstraints(jrboy, gbc);
    		jp.add(jrboy);
    		
    		JRadioButton jrgirl = new JRadioButton("男");
    		//上左下右
    		gbc.insets = new Insets(0, -180, 0, 0);
    		gbc.gridx = 2;
    		gbc.gridy = 1;
    		gbl.setConstraints(jrgirl, gbc);
    		jp.add(jrgirl);
    		//单选按钮分组
    		ButtonGroup bg = new ButtonGroup();
    		bg.add(jrboy);
    		bg.add(jrgirl);
    		gbc.insets = new Insets(0, 0, 0, 0);
    		//爱好文本-第四行、第一列
    		JLabel jllike = new JLabel("爱好:");
    		gbc.gridx = 0;
    		gbc.gridy = 2;
    		gbl.setConstraints(jllike, gbc);
    		jp.add(jllike);
    		
    		//爱好多选框
    		JCheckBox jcba = new JCheckBox("草莓袜子");
    		gbc.insets = new Insets(0, -20, 0, 0);
    		gbc.gridx = 1;
    		gbc.gridy = 2;
    		gbl.setConstraints(jcba, gbc);
    		jp.add(jcba);
    		
    		JCheckBox jcbb = new JCheckBox("幽兰拿铁");
    		
    		gbc.gridx = 2;
    		gbc.gridy = 2;
    		gbl.setConstraints(jcbb, gbc);
    		jp.add(jcbb);
    		
    		JCheckBox jcbc = new JCheckBox("蓝莓肚兜");
    		gbc.gridx = 1;
    		gbc.gridy = 3;
    		gbl.setConstraints(jcbc, gbc);
    		jp.add(jcbc);
    		
    		JCheckBox jcbd = new JCheckBox("小熊裤衩");
    		gbc.gridx = 2;
    		gbc.gridy = 3;
    		gbl.setConstraints(jcbd, gbc);
    		jp.add(jcbd);
    		
    		//地址文本-第六行,第一列
    		JLabel jladdress = new JLabel("地址:");
    		gbc.insets = new Insets(0, 0, 0, 0);
    		gbc.gridx  = 0;
    		gbc.gridy = 4;
    		gbl.setConstraints(jladdress, gbc);
    		jp.add(jladdress);
    		
    		//下拉框-第六行 第二列
    		JComboBox<String> jc = new JComboBox<>();
    		jc.addItem("长沙");
    		jc.addItem("衡阳");
    		jc.addItem("郴州");
    		jc.addItem("娄底");
    		jc.addItem("岳阳");
    		jc.addItem("永州");
    		jc.addItem("阜南");
    		jc.addItem("张家界");
    		jc.addItem("临湘");
    		jc.addItem("平江");
    		jc.addItem("等等");
    		gbc.gridx = 1;
    		gbc.gridy = 4;
    		gbl.setConstraints(jc, gbc);
    		jp.add(jc);
    		
    		//个人说明文本
    		JLabel jlgrsm = new JLabel("个人说明:");
    		gbc.gridx = 0;
    		gbc.gridy = 5;
    		gbl.setConstraints(jlgrsm, gbc);
    		jp.add(jlgrsm);
    		
    		//文本域
    		JTextArea jta = new JTextArea(5, 10);
    		//滚动面板
    		JScrollPane jsp = new JScrollPane(jta);
    		gbc.insets = new Insets(10, 0, 10, 0);
    		gbc.gridx = 1;
    		gbc.gridy = 5;
    		gbl.setConstraints(jsp, gbc);
    		jp.add(jsp);
    		
    		//按钮
    		JButton jbzc = new JButton("修改");
    		gbc.gridx = 0;
    		gbc.gridy = 6;
    		gbl.setConstraints(jbzc, gbc);
    		jp.add(jbzc);
    		
    		JButton jbqx = new JButton("取消");
    		gbc.gridx = 1;
    		gbc.gridy = 6;
    		gbl.setConstraints(jbqx, gbc);
    		jp.add(jbqx);
    		
    		
    		//给组件赋值
    		jtname.setText(stu.getSname());
    		//性别
    		//默认选中女
    		jrboy.setSelected(true);
    		if(stu.getSsex().equals("男")) {
    			//如果性别为男,就设置男的单选按钮被选中
    			jrgirl.setSelected(true);
    		}
    		//爱好
    		String slike = stu.getSlike();
    		if(slike.contains("草莓袜子")) {
    			jcba.setSelected(true);//设置选中
    		}
    		if(slike.contains("幽兰拿铁")) {
    			jcbb.setSelected(true);
    		}
    		if(slike.contains("蓝莓肚兜")) {
    			jcbc.setSelected(true);
    		}
    		if(slike.contains("小熊裤衩")) {
    			jcbd.setSelected(true);
    		}
    		
    		//地址
    		jc.setSelectedItem(stu.getSaddress());
    		
    		//个性签名
    		jta.setText(stu.getSgxqm());
    		
    		
    		//给修改按钮添加事件
    		jbzc.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				// 获取组件的值
    				String sname = jtname.getText();
    				String ssex = "男";
    				if (jrboy.isSelected()) {
    					ssex = "女";
    				}
    				String slike = "";
    				if (jcba.isSelected()) {
    					slike += "草莓袜子";
    				}
    				if (jcbb.isSelected()) {
    					slike += "幽兰拿铁";
    				}
    				if (jcbc.isSelected()) {
    					slike += "蓝莓肚兜";
    				}
    				if (jcbd.isSelected()) {
    					slike += "小熊裤衩";
    				}
    				String saddress = jc.getSelectedItem() + "";
    				String sgxqm = jta.getText();
    				// 实例化学生对象
    				Student s = new Student(sname, ssex, saddress, slike, sgxqm);
    				// 调用修改方法
    				int i = new StudentDao().upStu(stu.getSid(), s);
    				if (i == 1) {
    					JOptionPane.showMessageDialog(null, "修改成功");
    					// 刷新数据
    					index.showInfo("ssex", "");
    					// 释放本窗体资源
    					UpStu_UI.this.dispose();
    				} else {
    					JOptionPane.showMessageDialog(null, "修改失败");
    				}
    
    			}
    		});
    		
    		//给取消按钮添加事件
    		jbqx.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				//释放本窗体资源
    				UpStu_UI.this.dispose();
    			}
    		});
    		
    		
    		
    		this.getContentPane().add(jp);
    		this.setVisible(true);
    	}
    	
    	
    
    }
    

    接下来就是util帮助类啦!

    package com.zking.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    public class DBHelper {
    	private static String cname = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//注册驱动类的类的路径
    	private static String url = "jdbc:sqlserver://localhost:1433;DatabaseName=T277";
    	private static String uname = "sa";
    	private static String upwd = "8023";
    	
    	static {
    		try {
    			Class.forName(cname);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * 连接数据库
    	 * @return
    	 */
    	public static Connection getCon() {
    		Connection con = null;
    		try {
    			con = DriverManager.getConnection(url, uname, upwd);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return con;
    	}
    	
    	/**
    	 * 关闭连接
    	 * @param con Connection对象
    	 * @param ps PreparedStatement对象
    	 * @param rs ResultSet 对象
    	 */
    	public static void closeDB(Connection con,PreparedStatement ps,ResultSet rs) {
    		try {
    			if(con!=null) {
    				con.close();
    			}
    			if(ps!=null) {
    				ps.close();
    			}
    			if(rs!=null) {
    				rs.close();
    			}
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    }
    

     以上就是swing版本的学生管理系统啦!

     

     

    展开全文
  • 创建学生数据库StuDB,文件名和位置自定,在此数据库中创建如下三张表: 学生表(student) (  学号(sno) 普通编码定长字符类型,长度9,主码,  姓名(sname) 普通编码定长字符类型,长度10,非空,  性别(ssex...
  • 系统管理员的使用权限包括:用户管理、学生信息管理、学生成绩查询,教师的使用权限包括学生信息查询、学生成绩管理、学生成绩查询,学生的使用权限仅有学生信息查询和学生成绩查询。 系统管理员帐号在创建用户表时...

    学生信息管理系统
    系统用户分三类:系统管理员、教师、学生,不同的用户有不同的使用权限。
    系统管理员的使用权限包括:用户管理、学生信息管理、学生成绩查询,教师的使用权限包括学生信息查询、学生成绩管理、学生成绩查询,学生的使用权限仅有学生信息查询和学生成绩查询。
    系统管理员帐号在创建用户表时建立,在应用程序中不能修改。教师的用户名和密码由系统管理员通过用户管理模块设定,学生信息由系统管理员通过学生信息管理模块来设定,学生成绩由教师通过学生成绩管理模块来设定。学生可通过系统登录模块用学号作为用户名进行注册,不存在的学号不能注册,注册时可设定用户密码,已注册的学生不能重新注册,也不能修改密码。学生登录系统后只可以查询本人的信息,但可查询所有学生的成绩。

    1.这是大一接触学完的数据库和C#结合一起的操作系统,较为简单
    2. 比较适合新手,过程就是不断的查询数据库和进行写入C#窗体
    简单的思维导图

    定义了六个表,一个最没有用的中间值表,其实严格是5个

    mind是中间值表,StudentAd是管理员表,然后依次是成绩表,信息表,注册信息表,教师表

    如果是我再次写,会写四个表,管理员表,成绩表,信息表,注册信息表

    正式开始主界面分为在这里插入图片描述

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Configuration;
    using System.Data.SqlClient;
    using Conmon;
    
    namespace Cshaper大作业学生信息管理系统
    {
        public partial class Form1 : Form
        {
            public int str { get; private set; }
    
            public Form1()
            {
                InitializeComponent();
            }
            private void clera()
            {
                textBox1.Clear();
                textBox2.Clear();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
                string useName = textBox1.Text.Trim();
                string usepass = textBox2.Text.Trim();
                if (AdradioButton.Checked)
                {
                    //管理员登录
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        string sql = string.Format("select * from StudentAd where Adname='{0}' and Adpass='{1}'", useName, usepass);
                        using (SqlCommand cmd = new SqlCommand(sql, con))
                        {
                            con.Open();
                           
                            using (SqlDataReader reader = cmd.ExecuteReader())
                            {
                                //判断是否有返回值
                                if (reader.HasRows) 
                                {
                                    MessageBox.Show("登录成功");
                                    this.DialogResult = DialogResult.OK;
                                    this.Close();
    
                                }
                                else
                                {
                                    MessageBox.Show("登录失败");
                                    clera();
                                    textBox1.Focus();
                                }
                            }
    
                        }
                    }
                   
                }
                else if (TeradioButton2.Checked)
                {
                    //Teacher登录
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        string sql = string.Format("select * from Teacher where UserID='{0}' and UserPassWord='{1}'", useName, usepass);
                        using (SqlCommand cmd = new SqlCommand(sql, con))
                        {
                            con.Open();
                            using (SqlDataReader reader = cmd.ExecuteReader())
                            {
                                //判断是否有返回值
                                if (reader.HasRows)
                                {
                                    MessageBox.Show("登录成功");
                                    this.DialogResult = DialogResult.Yes;
                                    this.Close();
    
                                }
                                else
                                {
                                    MessageBox.Show("登录失败");
                                    clera();
                                    textBox1.Focus();
                                }
                            }
    
                        }
                    }
                    
                }
                else if (StradioButton3.Checked)
                {
                    //学生登录
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        string sql = string.Format("select * from studZcxx where student_id='{0}' and student_pss='{1}'", useName, usepass);
                        using (SqlCommand cmd = new SqlCommand(sql, con))
                        {
                            con.Open();
                            using (SqlDataReader reader = cmd.ExecuteReader())
                            {
                                //判断是否有返回值
                                if (reader.HasRows)
                                {
                                    MessageBox.Show("登录成功");
    
                                    minds(useName);
                                    this.DialogResult = DialogResult.No;
                                    this.Close();
    
                                }
                                else
                                {
                                    MessageBox.Show("登录失败");
                                    clera();
                                    textBox1.Focus();
                                }
                            }
    
                        }
                    }
                }
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                Stzhuce stuXX = new Stzhuce();
                stuXX.ShowDialog();
            }
    
    
            //修改中间值  
            public int minds(string mins)
            {   
                int i = Convert.ToInt32(mins);
                string a1 = "update mind set mind='"+ i + "'";
                int n = SqlHelper.ExecuteNonquery(a1);
    
                return i;
            }
        }
    }
    !!这里的中间值是自己脑子发热,因为要通过学生登录了,进入学生登录页面,窗体传值又总是报错,于是直接通过数据库来写入一个中间数据表,来记录是谁进入了主页面,其实可以不用写的怎么麻烦,定义一个全局变量即可!!
    
    

    在这里插入图片描述
    管理员登录成功的界面

    写完以后我进行修改,发现其实很多语句都可以进行封装
    于是先定义了一个SqlHelper类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    
    namespace Conmon
    {
        
        public class SqlHelper
        {//读取连接字符串
            private static string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
            /// <summary>
            /// 返回数据集合
            /// </summary>
            /// <param name="sql">要执行查询的sql语句</param>
            /// <param name="param">需要的参数</param>
            /// <returns></returns>
            public static DataTable ExecuteDataTable(string sql, params SqlParameter[] param)
            {
                DataTable dt = new DataTable();
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    SqlDataAdapter adapter = new SqlDataAdapter(sql, con);
                    //添加参数
                    adapter.SelectCommand.Parameters.AddRange(param);
                    adapter.Fill(dt);
                }
                return dt;
            }
            /// <summary>
            /// 执行增删改
            /// </summary>
            /// <param name="sql">要执行的sql语句</param>
            /// <param name="param">sql语句需要的参数</param>
            /// <returns></returns>
            public static int ExecuteNonquery(string sql, params SqlParameter[] param)
            {
                int n = -1;
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        cmd.Parameters.AddRange(param);
                        n = cmd.ExecuteNonQuery();
                    }
                }
                return n;
            }
            /// <summary>
            /// 执行查询,返回首行首列
            /// </summary>
            /// <param name="sql">要查询的sql语句</param>
            /// <param name="param">sql语句需要的参数</param>
            /// <returns></returns>
            public static object ExecuteScalar(string sql, params SqlParameter[] param)
            {
                object o = null;
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        cmd.Parameters.AddRange(param);
                        o = cmd.ExecuteScalar();
                    }
                }
                return o;
            }
            public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] param)
            {
                SqlDataReader reader;
                SqlConnection con = new SqlConnection(conStr);
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    cmd.Parameters.AddRange(param);
                    con.Open();
                    //CommandBehavior.CloseConnection:如果关闭SqlDataReader,则Connection也随着关闭
                    reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
                return reader;
            }
        }
    }
    
    

    再写管理员类

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using Conmon;
    
    namespace Cshaper大作业学生信息管理系统
    {
        public partial class Ad : Form
        {
            public Ad()
            {
                InitializeComponent();
            }
    
    
            private void button2_Click(object sender, EventArgs e)
            {
                if (textBox1.Text=="" || textBox2.Text=="")
                {
                    MessageBox.Show("用户名和密码不能为空");
                    return;
                }
                string sql = "insert into Teacher(UserID,UserPassWord) values(@id,@word)";
    
                //Teacher
    
                SqlParameter[] p = new SqlParameter[]{
                            new SqlParameter("@id", Convert.ToString(textBox1.Text.Trim())),
    
                             new SqlParameter("@word", Convert.ToString(textBox2.Text)),
                            };
                int n = SqlHelper.ExecuteNonquery(sql, p);
                if (n > 0)
                {
                    MessageBox.Show("添加成功!");
                }
                textBox1.Text = "";
                textBox2.Text = "";
                textBox1.Focus();
    
            }
    
          
    
            private void button3_Click(object sender, EventArgs e)
            {
                string drop1 = textBox3.Text.Trim();
                string sql = "DELETE FROM Teacher WHERE UserID = '"+ drop1 + "'";
                
                int n = SqlHelper.ExecuteNonquery(sql);
                if (n > 0)
                {
                    MessageBox.Show("删除成功!");
                }
                else
                {
                    MessageBox.Show("删除失败,请确定是否存在!!!");
                }
                textBox3.Text = "";
                textBox3.Focus();
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                string sql = "select * from Teacher";
                DataTable dt = SqlHelper.ExecuteDataTable(sql);
                dataGridView1.DataSource = dt;
                dataGridView1.Columns[0].HeaderCell.Value = "教师用户名";
                dataGridView1.Columns[1].HeaderCell.Value = "教师用户密码";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string ab1 = textBox4.Text.Trim();
                string ab2 = textBox5.Text.Trim();
                string sql = "update Teacher set UserID = '"+ab2+"' where UserID='"+ab1+"'";
                int n = SqlHelper.ExecuteNonquery(sql);
                if (n > 0)
                {
                    MessageBox.Show("修改成功!");
                }
                else
                {
                    MessageBox.Show("修改失败,请确定是否存在!!!");
                }
                //修改成功后可能要再进行修改密码,所有我们把要修改用户名的给清空
                textBox4.Text = ab2;
             
            }
    
            private void button4_Click(object sender, EventArgs e)
            {
                string ab1 = textBox4.Text.Trim();
                string ab2 = textBox6.Text.Trim();
                string sql = "update Teacher set UserPassWord = '" + ab2 + "' where UserID='" + ab1 + "'";
                int n = SqlHelper.ExecuteNonquery(sql);
                if (n > 0)
                {
                    MessageBox.Show("修改成功!");
                }
                else
                {
                    MessageBox.Show("修改失败,请确定是否存在!!!");
                }
            }
    
            private void 学生信息查询ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                StuXX stuXX = new StuXX();
                stuXX.ShowDialog();
            }
    
            private void 学生成绩查询ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                StuCJ stuXX = new StuCJ();
                stuXX.ShowDialog();
            }
        }
    }
    
    
    
    
    

    这里弹出的两个以对话框的形式弹出,附
    StuCJ()

    using Conmon;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace Cshaper大作业学生信息管理系统
    {
        public partial class StuCJ : Form
        {
            public StuCJ()
            {
                InitializeComponent();
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
    
                string sql = "select * from studentCJ";
                DataTable dt = SqlHelper.ExecuteDataTable(sql);
                dataGridView1.DataSource = dt;
                dataGridView1.Columns[0].HeaderCell.Value = "学号";
                dataGridView1.Columns[1].HeaderCell.Value = "姓名";
                dataGridView1.Columns[2].HeaderCell.Value = "成绩";
            }
    
            private void StuCJ_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    
    

    StuXX类

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using Conmon;
    
    namespace Cshaper大作业学生信息管理系统
    {
        public partial class StuXX : Form
        {
            public StuXX()
            {
                InitializeComponent();
            }
    
            private void StuXX_Load(object sender, EventArgs e)
            {
    
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                string sql = "select * from studentXX";
                DataTable dt = SqlHelper.ExecuteDataTable(sql);
                dataGridView1.DataSource = dt;
                dataGridView1.Columns[0].HeaderCell.Value = "学号";
                dataGridView1.Columns[1].HeaderCell.Value = "姓名";
                dataGridView1.Columns[2].HeaderCell.Value = "性别";
                dataGridView1.Columns[3].HeaderCell.Value = "年龄";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "")
                {
                    MessageBox.Show("不能为空");
                    return;
                }
                string a1 = textBox1.Text.Trim();
                string a2 = textBox2.Text.Trim();
                string a3 = textBox3.Text.Trim();
                string a4 = textBox4.Text.Trim();
                string sql = "insert into studentXX values('"+ a1 + "','" + a2 + "','" + a3 + "'," + a4 + ")";
                try
                {
                    int n = SqlHelper.ExecuteNonquery(sql);
                    if (n > 0)
                    {
                        MessageBox.Show("添加成功!");
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("请检查,学号唯一,姓名和学号不能为空,性别只能填男或女,年龄请认真填写");
                }
                textBox1.Text = "";
                textBox2.Text ="";
                textBox3.Text = "";
                textBox4.Text ="";
                textBox1.Focus();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                string drop1 = textBox5.Text.Trim();
                string sql = "DELETE FROM studentXX WHERE student_id = '" + drop1 + "'";
    
                int n = SqlHelper.ExecuteNonquery(sql);
                if (n > 0)
                {
                    MessageBox.Show("删除成功!");
                    textBox5.Text = "";
                    textBox5.Focus();
                }
                else
                {
                    MessageBox.Show("删除失败,请确定是否存在!!!");
                }
            }
        }
    }
    
    

    这样我们的三分之一就完成了,后面的教师也是这样,总的来说是很简单的
    就不占太多笔墨了
    其中SQlHElpe类是需要学习的,学习完这个类其他大部分都能完成
    数据库的使用的时候注意赋值的’ '这个是很重要的,在写代码的时候,建议先拿sql语句去运行看是否有返回结果和结果是否是自己想要的,在进行带入!
    数据库里是可以运行触发器的,触发器是很重要的存在,我在写代码的时候想学生信息表和学生成绩表同步更新,最后自己使用了触发器可以解决!

    归根本质还是对数据库的操作,然后通过下图去返回结果集

    在这里插入图片描述

    加油,华为!加油,中国!
    努力学习,刻苦奋斗,做党的接班人!
    为人民服务!!
    努力写代码,刻苦去奋斗!未来是我们的

    代码已经上传到GitHub,搜索对应标题学生信息管理系统,即可
    不鼓励直接抄袭,鼓励刻苦学习

    展开全文
  • 1第一套一、基本操作题在考生文件夹下有一个数据库文件"samp1.accdb...并设置"身份ID"字段的相应属性,使该字段在数据表视图中的显示标题为"身份证"。(3)将"姓名"字段设置为"有重复索引"。(4)在"家长身份证号"和"语...
  • 对于很多HR小伙伴来说,通过数据管理系统导出的人事信息表中,数据更多地是显示出生日期而不是年龄,而在实际的统计中,我们往往需要对年龄进行分段统计,这时候我们就需要根据出生日期来计算年龄。如何快速准确地...
  • 这篇博客将介绍一下下图中的效果的实现方式 实现方式,使用Android Studio创建一个Android工程 1、修改activity_layout.xml中的代码 xmlns:tools="http://schem
  • 设计一个Windows应用程序,在该程序中首先构造中学生、大学生等派生类,当输入相关数据,单击不同的按钮(“小学生”“中学生”“大学生”)将分别创建不同的学生对象,并输入当前的学生总人数,该学生的姓名学生类型...
  • 学生信息管理系统学生信息管理系统
  • 学生类package com.lanxi.demo1_3;public class Student {private String name;private String sex;private int age;@Override//重写toString方法public String toString() {return "Student [name=" + name + ", ...
  • 基于python和tkinter实现的一个简单的学生信息管理系统1、需求分析1、该大学生信息管理系统采用了tkinter来创建窗口界面。使得界面更加的美观。2、实现了与数据库的连接,能够将老师和学生的信息保存或者读取,而且...
  • 通过集合创建学生系统的操作(添加、删除、查看、修改)并进行优化,如:添加重复学生信息的情况,删除未存在的学生信息等等
  • 保存按钮是将录入的学生对象的信息保存到一个文件student.dat中,结束按钮是程序运行终止、浏览按钮点击后将启动另一个GUI界面,界面中使用一个表格控件显示从文件中读入的所有学生信息。 二、实验代码 三、...
  • 数据库课设之学生信息管理系统

    万次阅读 多人点赞 2019-07-13 17:31:10
    数据库课设之学生信息管理系统 一、系统需求分析 学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生 的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。 ...
  • 数据库课程设计心得-学生信息管理系统【模版】.pdf数据库课程设计心得-学生信息管理系统【模版】.pdf数据库课程设计心得-学生信息管理系统【模版】.pdf数据库课程设计心得-学生信息管理系统【模版】.pdf数据库课程...
  • Java学生成绩管理系统设计
  • 高校学生档案管理系统说明书
  • 目录一、基本要求二、创建学生课程管理系统(1)在sqldeveloper设计数据库物理模式 一、基本要求 假设有“教师”、“学生”、“课程”三个实体,教师的基本信息包括:工号、姓名、职称、工资,课程的基本信息包括:...
  • printf("姓名:%s,性别:%s,年龄:%d",st1[i].name,st1[i].sex,st1[i].age); printf("分数%f,地址:%s",st1[i].score,st1[i].addr); printf("生日:%d年%d月%d日",st1[i].birthday.year,st1[i].birthday....
  • vb学生档案管理系统设计与实现.zip
  • 全面——学生图书数据库管理系统课设
  • 学生信息管理系统java课程设计(含源代码).doc
  • 2 [简答题]在考生文件夹下有一个数据库文件“samp2.aeedb”,...(1)创建一个选择查询,查找没有绘画爱好学生的“学号”、“姓名”、“性别”和“年龄”4个字段的内容,所建查询命名为“qT1”。(2)创建一个选择查询...
  • 第一章 为什么要开发一个学生档案管理系统
  • 通常,使用分组框按功能细分窗体,例如:一个学生在选择班级和系别是,为了细分窗体,可用两个GroupBox控件来设置,用Text属性来达到分组提示的目的。 using System; using System.Collections.Ge
  • 设计一个windows应用程序,在该程序中首先构造一个学生基本类,在分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输出当前的学生...
  • 这个算是我的前一篇管理系统的进阶版本,直接更改的原实验代码(因此有些代码被注释了),加入了数据库连接、错误抛出、显示界面等功能,代码模块名在没弄清前尽量不要更改,另外还需添加一些模块(看图自行添加),...
  • 请按以下要求完成设计: (1)创建一个查询,查找并显示没有运动爱好学生的“学号”、“姓名”、“性别”和“年龄”4个字段内容,将查询命名为“qT1”; (2)创建一个查询,查找并显示所有学生的“姓名”、“课程名”和...
  • 通过简单工厂,根据类型创建对象 30 Person per = PersonFactory.GetPerson( " Student " ); 31 per.Id = node[ " Id " ].InnerText; 32 per.Name = node[ " Name " ].InnerText; 33 per.Sex = (Sex)Enum....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,236
精华内容 494
关键字:

创建显示学生年龄的窗体