精华内容
下载资源
问答
  • java学生信息管理系统(附源码)

    万次阅读 多人点赞 2016-07-14 16:36:30
     另外要新建数据库wtf 和新建学生表student(也可以用你自己创建的数据库及表,不过你得在源代码中进行修改):  还要导入sqljdbc4.jar    4:实现增删改查 (另有退出和刷新) 二: 使用  1:...

    一:   介绍

          

      1:实现登录界面

        2:实现主界面

               有两种操作 一种是按钮操作  另外一种是SQL语句。

        3:连接SQL server 2008 数据库,后续我更新了,加了一个MySql 版本。在我的下载链接里面都有,里面也有使用说明。另外*myeclipse和eclipse,            jcreator什么的都是IDE,使用都一样,基本没什么区别,只不过myeclipse更商业化不开源,也就意味着收费,里面集成的插件比较多而已。

               *****************************************************************************************************

               用到的软件及环境SQLserver2008,eclipse,sqljdbc4.jar(数据库驱动包)

               *****************************************************************************************************

               另外一个Mysql 5.7.15.  Myeclipse2015,mysql-connector-java-5.1.34.jar

                 **********************************************************************************************************************

     

               java的JDK环境 (自行安装配置)

                切记:

                另外要新建数据库wtf 和新建学生表student(也可以用你自己创建的数据库及表,不过你得在源代码中进行修改):

                还要导入sqljdbc4.jar

            

        4:实现增删改查  (另有退出和刷新)

    二:    使用

      1:首先导入rjgc包

     

    然后点开browse  找到rjgc  

    最后点击finish

    得到    下图

    加载出来以后可能有的java文件前面有错,因为还没有导入sqljdbc4.jar

    (*******************************************************************************************************************************                    注意,方式一导入jdbc的图是之前我做的时候比较麻烦的一种方式,但是也能达到效果,在后期的我更新的链接资源中,如果导入任意版本源码包的话,都会自动加载lib包以及下面不同版本对应的jdbc连接驱动。这时候你只需要在那个lib文件夹下的.jar 文件上右键点击-->build path--->add to build path,导入jdbc结束。

    方式二导入:贴一张图

    上面这张图是方式二导入的,

    **************************************************************************************************************************)

     

    接下来继续,方式一导入  看下图:

     

     

     

    这时候应该就差不多可以运行了,不过还得把SQLserver2008的(MSSQLSERVER)服务开启了。

    上图

    再回到eclipse界面 打开rjgc

    最后双击LoginIn.java打开代码文本

    运行  就可以出现登录界面  

    在LoginIn.java代码文本里面找到登录用户 和密码后就可以登录了 

    比如admin 123  和wangtangfu 123456      (注意不要多加空格)

    其实用户权限都一样  如果你想加用户权限  可以写两个不同的Qframe.java。要做到主窗口里面的功能不同   ,可以屏蔽一些按钮

    比如修改  增加  等功能。然后在不同用户登陆的时候调用不同的Qframe.java,这样应该可以实现权限问题。。。

     

    2:

    还有程序里面应运了一些图片,它们的位置路径位置可能不一样 ,自行参照代码理解修改(很容易的哟);

     

    三:程序运行截图

       登陆窗口

     主窗口

    SQL语句执行  比如select * from student  

    刷新按钮:

    增加按钮:

                                                                                                                                                         添加成功之后刷新即可:

    删除按钮:

    修改按钮:

    查询按钮

     

     

    至此  

          学生管理系统就完成了   

               其中的登陆界面是 我借鉴别人的  

                   文中难免有不足之处,恳请批评指正

                                                                                                                                       2016-7-14

    再此上传不了附件 所以我给链接去在云盘下载 


    首次上传

    (2017_6_12更新)链接: https://pan.baidu.com/s/1aSeKJ8gXxWSElHaTU6_PdA 密码: yqpv

     


    添加myeclipse+mysql 版本:

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k


     


    修改student.sql执行报错 (执行时可以打开偷偷看一眼)

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接:https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

     

    展开全文
  • 学生信息管理系统——C语言版

    万次阅读 多人点赞 2019-04-06 18:07:13
    1)查询学生信息 2)添加学生信息 3)修改学生信息 4)删除学生信息 5)刷新学生信息 6)保存学生信息 7)输出当前学生信息 2.题目要求: 1)使用结构体建立学生信息体制 2)实现七大基本功能 3)采用文件存储学生...

    一.题目分析:
    1.功能概述:
    1)查询学生信息
    2)添加学生信息
    3)修改学生信息
    4)删除学生信息
    5)刷新学生信息
    6)保存学生信息
    7)输出当前学生信息
    2.题目要求:
    1)使用结构体建立学生信息体制
    2)实现七大基本功能
    3)采用文件存储学生信息
    二.算法构造
    1.难点解析----对文件的操作
    1.1文件读取

    FILE * fp;
    	if ((fp = fopen(filename, "r")) == NULL) return 0;
    	//从文件读取信息 
    	while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {
    		j++;
    	}
    

    1.2文件写入

    FILE * fp;
    fp = fopen(filename, "w");
    	for (i = 0; i < n; i++){
    		fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,
    			stu[i].score[0], stu[i].score[1], stu[i].score[2]);
    	}
    

    2.流程图
    在这里插入图片描述
    3.七大基本功能----函数实现
    3.1菜单函数:通过菜单建立用户与程序之间的交流

    void menu()/* 界面*/
    {
    	int num;
    	printf(" \n\n                    \n\n");
    	printf("  ******************************************************\n\n");
    	printf("  *                学生信息管理系统                    *\n \n");
    	printf("  ******************************************************\n\n");
    	printf("*********************系统功能菜单*************************       \n");
    	printf("     ----------------------   ----------------------   \n");
    	printf("     *********************************************     \n");
    	printf("     * 0.系统帮助及说明  * *  1.刷新学生信息   *     \n");
    	printf("     *********************************************     \n");
    	printf("     * 2.查询学生信息    * *  3.修改学生信息   *     \n");
    	printf("     *********************************************     \n");
    	printf("     * 4.增加学生信息    * *  5.按学号删除信息 *     \n");
    	printf("     *********************************************     \n");
    	printf("     * 6.显示当前信息    * *  7.保存当前学生信息*     \n");
    	printf("     ********************** **********************     \n");
    	printf("     * 8.退出系统        *                            \n");
    	printf("     **********************                            \n");
    	printf("     ----------------------   ----------------------                           \n");
    	printf("请选择菜单编号:");
    	scanf("%d", &num);
    	switch (num)
    	{
    	case 0:help(); break;
    	case 1:flush(); break;
    	case 2:seek(); break;
    	case 3:modify(); break;
    	case 4:insert(); break;
    	case 5:del(); break;
    	case 6:display(); break;
    	case 7:save(); break;
    	case 8:
    		k = 0; 
    		printf("即将退出程序!\n");
    		break;
    	default:printf("请在0-8之间选择\n");
    	}
    }
    

    3.2系统帮助与说明函数:适用于初次接触学生信息管理系统的用户参考

    void help()
    {
    	printf("\n0.欢迎使用系统帮助!\n");
    	printf("\n1.初次进入系统后,请先选择增加学生信息;\n");
    	printf("\n2.按照菜单提示键入数字代号;\n");
    	printf("\n3.增加学生信息后,切记保存;\n");
    	printf("\n4.谢谢您的使用!\n");
    }
    

    3.3刷新学生信息函数
    功能:调用刷新信息函数后,文件中再无学生信息

    int flush(){
    	char filename[LEN + 1];
    	int i = 0;
    	printf("请输入要刷新学生信息的文件名:\n");
    	scanf("%s", filename);
    	int j = 0;
    	FILE * fp;
    	if ((fp = fopen(filename, "r")) == NULL) return 0;
    	//从文件读取信息 
    	while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {
    		j++;
    	}
    	n = j;
    	printf("刷新成功!!!");
    	return n;
    }
    
    

    3.4查询学生信息函数
    功能:通过输入要查询的学生学号或者姓名,与系统中的学生信息进行对比,若相等,则输出该学生的基本信息;反之,则输出该学生在该管理系统中不存在
    查询方式:
    1)按照学号查询
    2)按照姓名查询

    void seek() /*查找*/
    {
    	int i, item, flag;
    	char s1[21]; /* 以姓名和学号最长长度+1为准*/
    	printf("------------------\n");
    	printf("-----1.按学号查询-----\n");
    	printf("-----2.按姓名查询-----\n");
    	printf("-----3.退出本菜单-----\n");
    	printf("------------------\n");
    	while (1)
    	{
    		printf("请选择子菜单编号:");
    		scanf("%d", &item);
    		flag = 0;
    		switch (item)
    		{
    		case 1:
    			printf("请输入要查询的学生的学号:\n");
    			scanf("%s", s1);
    			for (i = 0; i<n; i++)
    			if (strcmp(s1,stu[i].StudentId) == 0)
    			{
    				flag = 1;
    				printf("学生学号\t学生姓名\t年龄\t性别\tC语言成绩\t高等数学\t大学英语成绩\n");
    				printf("--------------------------------------------------------------------\n");
    				printf("%s\t%s\t%d\t%6\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId,stu[i].StudentName,stu[i].StudentAge,stu[i].StudentSex,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
    			}
    			if (0 == flag)
    				printf("该学号不存在!\n"); break;
    		case 2:
    			printf("请输入要查询的学生的姓名:\n");
    			scanf("%s", s1);
    			for (i = 0; i<n; i++)
    			if (strcmp(stu[i].StudentName, s1) == 0)
    			{
    				flag = 1;
    				printf("学生学号\t学生姓名\t年龄\t性别\tC语言成绩\t高等数学\t大学英语成绩\n");
    				printf("--------------------------------------------------------------------\n");
    				printf("%s\t%s\t%d\t%c\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
    			}
    			if (0 == flag)
    				printf("该姓名不存在!\n"); break;
    		case 3:return;
    		default:printf("请在1-3之间选择\n");
    		}
    	}
    }
    

    3.5修改学生信息
    功能:通过输入学号来选择要修改的该学号学生的信息内容,从而完成修改信息操作;

    //修改学生信息
    void modify() /*修改信息*/
    {
    	int i, item, num = -1;
    	char sex1, s1[LEN + 1], s2[LEN + 1]; /* 以姓名和学号最长长度+1为准*/
    	float score1;
    	printf("请输入要要修改的学生的学号:\n");
    	scanf("%s", s1);
    	for (i = 0; i < n; i++){
    		if (strcmp(stu[i].StudentId, s1) == 0){/*比较字符串是否相等*/
    			num = i;
    			printf("------------------\n");
    			printf("1.修改姓名\n");
    			printf("2.修改年龄\n");
    			printf("3.修改性别\n");
    			printf("4.修改C语言成绩\n");
    			printf("5.修改高等数学成绩\n");
    			printf("6.修改大学英语成绩\n");
    			printf("7.退出本菜单\n");
    			printf("------------------\n");
    			while (1)
    			{
    				printf("请选择子菜单编号:");
    				scanf("%d", &item);
    				switch (item)
    				{
    				case 1:
    					printf("请输入新的姓名:\n");
    					scanf("%s", s2);
    					strcpy(stu[num].StudentName, s2);
    					break;
    				case 2:
    					printf("请输入新的年龄:\n");
    					scanf("%d", stu[num].StudentAge);
    					break;
    				case 3:
    					printf("请输入新的性别:\n");
    					scanf("%s", &sex1);
    					stu[i].StudentSex = sex1;
    					break;
    				case 4:
    					printf("请输入新的C语言成绩:\n");
    					scanf("%f", &score1);
    					stu[num].score[0] = score1;
    					break;
    				case 5:
    					printf("请输入新的高等数学成绩:\n");
    					scanf("%f", &score1);
    					stu[num].score[1] = score1;
    					break;
    				case 6:
    					printf("请输入新的大学英语成绩:\n");
    					scanf("%f", &score1);
    					stu[num].score[2] = score1;
    					break;
    				case 7:	return;
    				default:printf("请在1-7之间选择\n");
    				}
    			}
    			printf("修改完毕!请及时保存!\n");
    		}
    		else{
    			printf("没有该学生学号!!!");
    		}
    	}
    }
    

    3.6添加学生信息函数
    功能:添加学生信息,并保存至文件中

    //添加学生信息函数
    void insert() /*插入函数*/
    {
    	int i = n, j, flag;
    	printf("请输入待增加的学生数:\n");
    	scanf("%d", &m);
    	if (m > 0){
    		do
    		{
    			flag = 1;
    			while (flag)
    			{
    				flag = 0;
    				printf("请输入第%d位学生的学号:\n", i + 1);
    				scanf("%s", stu[i].StudentId);
    				for (j = 0; j < i; j++){
    					if (strcmp(stu[i].StudentId, stu[j].StudentId) == 0){
    						printf("该学号已存在,请重新输入!\n");
    						flag = 1;
    						break;
    					}
    				}
    			}
    			printf("请输入第%d 个学生的姓名:\n", i+1);
    			scanf("%s", stu[i].StudentName);
    			printf("请输入第%d 个学生的年龄:\n", i+1);
    			scanf("%d", &stu[i].StudentAge);
    			printf("请输入第%d 个学生的性别:\n", i+1);
    			scanf(" %c", &stu[i].StudentSex);
    			printf("请输入第%d 个学生的C语言成绩\n",i+1);
    			scanf("%f", &stu[i].score[0]);
    			printf("请输入第%d 个学生的高等数学成绩:\n", i+1);
    			scanf("%f", &stu[i].score[1]);
    			printf("请输入第%d 个学生的大学英语成绩:\n", i+1);
    			scanf("%f", &stu[i].score[2]);
    			if (0 == flag){
    				i++;
    			}
    		} while (i<n + m);
    	}
    		n += m;
    		printf("学生信息增加完毕!!!\n");
    		system("pause");
    }
    

    3.7删除学生信息函数
    功能:通过输入要删除学生信息的学号,删除该学生在该管理系统中的所有信息;

    //删除学生信息函数
    void del()
    {
    	int i, j, flag = 0;
    	char s1[LEN + 1];
    	printf("请输入要删除学生的学号:\n");
    	scanf("%s", s1);
    	for (i = 0; i < n; i++){
    		if (strcpy(stu[i].StudentId, s1) == 0){
    			flag = 1;
    			//要删除学生后面的学生往前移一位
    			for (j = i; j < n - 1; j++){
    				stu[j] = stu[j + 1];
    			}
    		}
    	}
    		//查找失败
    		if (0 == flag){
    			printf("该学号不存在!!!\n");
    		}
    		if (1 == flag){
    			printf("删除成功!!!");
    			//删除成功,学生人数减1
    			n--;
    		}
    		system("pause");
    }
    

    3.8显示当前学生信息
    功能:可以输出进行多种操作后的学生信息管理系统中的所有学生信息;

    //显示全部数据信息
    void display()
    {
    	int i;
    	printf("共有%d位学生的信息:\n", n);
    	if (0 != n)
    	{
    		printf("学生学号 \t学生姓名 \t年龄   \t性别   \tC语言成绩\t高等数学 \t大学英语成绩\n");
    		printf("--------------------------------------------------------------------\n");
    		for (i = 0; i<n; i++)
    		{
    			printf("%s \t%s \t%d   \t%c   \t%.1f\t%.1f \t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0],stu[i].score[1],stu[i].score[2]);
    		}
    	}
    	system("pause");
    }
    

    3.8保存学生信息
    功能:将进行某些操作后的学生信息保存到指定文件中

    void save(){
    	int i;
    	FILE *fp;
    	char filename[LEN + 1];
    	printf("请输入要保存的文件名:\n");
    	scanf("%s", filename);
    	fp = fopen(filename, "w");
    	for (i = 0; i < n; i++){
    		fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,
    			stu[i].score[0], stu[i].score[1], stu[i].score[2]);
    	}
    	printf("保存成功!!!\n");
    	fclose(fp);
    	system("pause");
    }
    
    

    三.源程序代码

    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>	/*I/O函数*/
    #include<stdlib.h>	/*其它说明*/
    #include<string.h>	/*字符串函数*/
    
    #define LEN 15		/* 学号和姓名最大字符数,实际请更改*/
    #define N 50		/* 最大学生人数,实际请更改*/
    
    int k = 1, n = 0, m = 0;/* n代表当前记录的学生人数*/
    
    //函数声明
    void readfile();
    void seek();
    void modify();
    void insert();
    void del();
    void display();
    void save();
    void menu();
    
    //结构体保存学生信息
    struct student{
    	char StudentId[LEN+1];
    	char StudentName[LEN+1];
    	int StudentAge;
    	char StudentSex;
    	float score[3];
    }stu[N];
    
    //主函数
    int main()
    {
    	while (k)
    	{
    		menu();
    	}
    	system("pause");
    	return 0;
    }
    
    //系统帮助函数
    void help()
    {
    	printf("\n0.欢迎使用系统帮助!\n");
    	printf("\n1.初次进入系统后,请先选择增加学生信息;\n");
    	printf("\n2.按照菜单提示键入数字代号;\n");
    	printf("\n3.增加学生信息后,切记保存;\n");
    	printf("\n4.谢谢您的使用!\n");
    }
    
    //刷新文件
    int flush(){
    	char filename[LEN + 1];
    	int i = 0;
    	printf("请输入要刷新学生信息的文件名:\n");
    	scanf("%s", filename);
    	int j = 0;
    	FILE * fp;
    	if ((fp = fopen(filename, "r")) == NULL) return 0;
    	//从文件读取信息 
    	while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {
    		j++;
    	}
    	n = j;
    	printf("刷新成功!!!");
    	return n;
    }
    
    //查找学生信息
    void seek() /*查找*/
    {
    	int i, item, flag;
    	char s1[21]; /* 以姓名和学号最长长度+1为准*/
    	printf("------------------\n");
    	printf("-----1.按学号查询-----\n");
    	printf("-----2.按姓名查询-----\n");
    	printf("-----3.退出本菜单-----\n");
    	printf("------------------\n");
    	while (1)
    	{
    		printf("请选择子菜单编号:");
    		scanf("%d", &item);
    		flag = 0;
    		switch (item)
    		{
    		case 1:
    			printf("请输入要查询的学生的学号:\n");
    			scanf("%s", s1);
    			for (i = 0; i<n; i++)
    			if (strcmp(s1,stu[i].StudentId) == 0)
    			{
    				flag = 1;
    				printf("学生学号\t学生姓名\t年龄\t性别\tC语言成绩\t高等数学\t大学英语成绩\n");
    				printf("--------------------------------------------------------------------\n");
    				printf("%s\t%s\t%d\t%6\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId,stu[i].StudentName,stu[i].StudentAge,stu[i].StudentSex,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
    			}
    			if (0 == flag)
    				printf("该学号不存在!\n"); break;
    		case 2:
    			printf("请输入要查询的学生的姓名:\n");
    			scanf("%s", s1);
    			for (i = 0; i<n; i++)
    			if (strcmp(stu[i].StudentName, s1) == 0)
    			{
    				flag = 1;
    				printf("学生学号\t学生姓名\t年龄\t性别\tC语言成绩\t高等数学\t大学英语成绩\n");
    				printf("--------------------------------------------------------------------\n");
    				printf("%s\t%s\t%d\t%c\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
    			}
    			if (0 == flag)
    				printf("该姓名不存在!\n"); break;
    		case 3:return;
    		default:printf("请在1-3之间选择\n");
    		}
    	}
    }
    
    //修改学生信息
    void modify() /*修改信息*/
    {
    	int i, item, num = -1;
    	char sex1, s1[LEN + 1], s2[LEN + 1]; /* 以姓名和学号最长长度+1为准*/
    	float score1;
    	printf("请输入要要修改的学生的学号:\n");
    	scanf("%s", s1);
    	for (i = 0; i < n; i++){
    		if (strcmp(stu[i].StudentId, s1) == 0){/*比较字符串是否相等*/
    			num = i;
    			printf("------------------\n");
    			printf("1.修改姓名\n");
    			printf("2.修改年龄\n");
    			printf("3.修改性别\n");
    			printf("4.修改C语言成绩\n");
    			printf("5.修改高等数学成绩\n");
    			printf("6.修改大学英语成绩\n");
    			printf("7.退出本菜单\n");
    			printf("------------------\n");
    			while (1)
    			{
    				printf("请选择子菜单编号:");
    				scanf("%d", &item);
    				switch (item)
    				{
    				case 1:
    					printf("请输入新的姓名:\n");
    					scanf("%s", s2);
    					strcpy(stu[num].StudentName, s2);
    					break;
    				case 2:
    					printf("请输入新的年龄:\n");
    					scanf("%d", stu[num].StudentAge);
    					break;
    				case 3:
    					printf("请输入新的性别:\n");
    					scanf("%s", &sex1);
    					stu[i].StudentSex = sex1;
    					break;
    				case 4:
    					printf("请输入新的C语言成绩:\n");
    					scanf("%f", &score1);
    					stu[num].score[0] = score1;
    					break;
    				case 5:
    					printf("请输入新的高等数学成绩:\n");
    					scanf("%f", &score1);
    					stu[num].score[1] = score1;
    					break;
    				case 6:
    					printf("请输入新的大学英语成绩:\n");
    					scanf("%f", &score1);
    					stu[num].score[2] = score1;
    					break;
    				case 7:	return;
    				default:printf("请在1-7之间选择\n");
    				}
    			}
    			printf("修改完毕!请及时保存!\n");
    		}
    		else{
    			printf("没有该学生学号!!!");
    		}
    	}
    }
    
    void sort()//按学号排序
    {
    	int i, j, k, *p, *q, s;
    	char temp[LEN + 1], ctemp;
    	float ftemp;
    	for (i = 0; i<n - 1; i++)
    	{
    		for (j = n - 1; j>i; j--)
    		if (strcmp(stu[j - 1].StudentId, stu[j].StudentId)>0)
    		{
    			strcpy(temp, stu[j - 1].StudentId);
    			strcpy(stu[j - 1].StudentId, stu[j].StudentId);
    			strcpy(stu[j].StudentId, temp);
    			strcpy(temp, stu[j - 1].StudentName);
    			strcpy(stu[j - 1].StudentName, stu[j].StudentName);
    			strcpy(stu[j].StudentName, temp);
    			ctemp = stu[j - 1].StudentSex;
    			stu[j - 1].StudentSex = stu[j].StudentSex;
    			stu[j].StudentSex = ctemp;
    			p = &stu[j - 1].StudentAge;
    			q = &stu[j].StudentAge;
    			s = *q;
    			*q = *p;
    			*p = s;
    			for (k = 0; k<3; k++)
    			{
    				ftemp = stu[j - 1].score[k];
    				stu[j - 1].score[k] = stu[j].score[k];
    				stu[j].score[k] = ftemp;
    			}
    		}
    	}
    }
    
    //添加学生信息函数
    void insert() /*插入函数*/
    {
    	int i = n, j, flag;
    	printf("请输入待增加的学生数:\n");
    	scanf("%d", &m);
    	if (m > 0){
    		do
    		{
    			flag = 1;
    			while (flag)
    			{
    				flag = 0;
    				printf("请输入第%d位学生的学号:\n", i + 1);
    				scanf("%s", stu[i].StudentId);
    				for (j = 0; j < i; j++){
    					if (strcmp(stu[i].StudentId, stu[j].StudentId) == 0){
    						printf("该学号已存在,请重新输入!\n");
    						flag = 1;
    						break;
    					}
    				}
    			}
    			printf("请输入第%d 个学生的姓名:\n", i+1);
    			scanf("%s", stu[i].StudentName);
    			printf("请输入第%d 个学生的年龄:\n", i+1);
    			scanf("%d", &stu[i].StudentAge);
    			printf("请输入第%d 个学生的性别:\n", i+1);
    			scanf(" %c", &stu[i].StudentSex);
    			printf("请输入第%d 个学生的C语言成绩\n",i+1);
    			scanf("%f", &stu[i].score[0]);
    			printf("请输入第%d 个学生的高等数学成绩:\n", i+1);
    			scanf("%f", &stu[i].score[1]);
    			printf("请输入第%d 个学生的大学英语成绩:\n", i+1);
    			scanf("%f", &stu[i].score[2]);
    			if (0 == flag){
    				i++;
    			}
    		} while (i<n + m);
    	}
    		n += m;
    		printf("学生信息增加完毕!!!\n");
    		system("pause");
    }
    
    //删除学生信息函数
    void del()
    {
    	int i, j, flag = 0;
    	char s1[LEN + 1];
    	printf("请输入要删除学生的学号:\n");
    	scanf("%s", s1);
    	for (i = 0; i < n; i++){
    		if (strcpy(stu[i].StudentId, s1) == 0){
    			flag = 1;
    			//要删除学生后面的学生往前移一位
    			for (j = i; j < n - 1; j++){
    				stu[j] = stu[j + 1];
    			}
    		}
    	}
    		//查找失败
    		if (0 == flag){
    			printf("该学号不存在!!!\n");
    		}
    		if (1 == flag){
    			printf("删除成功!!!");
    			//删除成功,学生人数减1
    			n--;
    		}
    		system("pause");
    }
    
    //显示全部数据信息
    void display()
    {
    	int i;
    	printf("共有%d位学生的信息:\n", n);
    	if (0 != n)
    	{
    		printf("学生学号 \t学生姓名 \t年龄   \t性别   \tC语言成绩\t高等数学 \t大学英语成绩\n");
    		printf("--------------------------------------------------------------------\n");
    		for (i = 0; i<n; i++)
    		{
    			printf("%s \t%s \t%d   \t%c   \t%.1f\t%.1f \t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0],stu[i].score[1],stu[i].score[2]);
    		}
    	}
    	system("pause");
    }
    
    void save(){
    	int i;
    	FILE *fp;
    	char filename[LEN + 1];
    	printf("请输入要保存的文件名:\n");
    	scanf("%s", filename);
    	fp = fopen(filename, "w");
    	for (i = 0; i < n; i++){
    		fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,
    			stu[i].score[0], stu[i].score[1], stu[i].score[2]);
    	}
    	printf("保存成功!!!\n");
    	fclose(fp);
    	system("pause");
    }
    
    void menu()/* 界面*/
    {
    	int num;
    	printf(" \n\n                    \n\n");
    	printf("  ******************************************************\n\n");
    	printf("  *                学生信息管理系统                    *\n \n");
    	printf("  ******************************************************\n\n");
    	printf("*********************系统功能菜单*************************       \n");
    	printf("     ----------------------   ----------------------   \n");
    	printf("     *********************************************     \n");
    	printf("     * 0.系统帮助及说明  * *  1.刷新学生信息   *     \n");
    	printf("     *********************************************     \n");
    	printf("     * 2.查询学生信息    * *  3.修改学生信息   *     \n");
    	printf("     *********************************************     \n");
    	printf("     * 4.增加学生信息    * *  5.按学号删除信息 *     \n");
    	printf("     *********************************************     \n");
    	printf("     * 6.显示当前信息    * *  7.保存当前学生信息*     \n");
    	printf("     ********************** **********************     \n");
    	printf("     * 8.退出系统        *                            \n");
    	printf("     **********************                            \n");
    	printf("     ----------------------   ----------------------                           \n");
    	printf("请选择菜单编号:");
    	scanf("%d", &num);
    	switch (num)
    	{
    	case 0:help(); break;
    	case 1:flush(); break;
    	case 2:seek(); break;
    	case 3:modify(); break;
    	case 4:insert(); break;
    	case 5:del(); break;
    	case 6:display(); break;
    	case 7:save(); break;
    	case 8:
    		k = 0; 
    		printf("即将退出程序!\n");
    		break;
    	default:printf("请在0-8之间选择\n");
    	}
    }
    

    四.调试、测试以及实验结果
    1.调试:
    在这里插入图片描述
    2.测试:
    输入数据类型与定义时不符合,程序运行过程中会出现错误
    在这里插入图片描述
    3.实验结果:
    (1)~(9)是一个连续的运行实验结果
    (1)运行菜单
    在这里插入图片描述
    (2)添加学生信息
    在这里插入图片描述
    (3)保存学生信息
    在这里插入图片描述

    (4)显示全部信息
    在这里插入图片描述

    (5)修改学生信息
    在这里插入图片描述

    (6)显示修改后全部信息
    在这里插入图片描述

    (7)刷新学生信息
    在这里插入图片描述

    (8)保存学生信息
    在这里插入图片描述

    (9)显示刷新后的全部信息
    在这里插入图片描述
    五、总结:
    编写一个功能齐全的、方便用户操作的学生管理系统,需要长期的实践与积累。
    实践时检验的好办法,学到的知识经过实践的检验,才能更好的被自身吸收。文件的操作的程序编写应用对我来说,是一个没有经过多次实践的问题,所以我在写这部分程序时,还是有些难度。该程序中还存在一个问题就是,当输入一个与定义时不符的数据,程序在运行过程中会出现错误,修改办法还在思考,欢迎大家来与我互相共勉。

    展开全文
  • c#实现简单学生信息管理系统

    万次阅读 多人点赞 2019-06-06 21:40:37
    登录、添加学生信息、修改学生信息、删除学生信息、查询学生信息 三、实现步骤 1、登陆界面功能实现 老规矩,先贴下主要代码: //构造方法 public Login() { InitializeComponent(); this.label3.Parent = ...

    一、运行环境windows,使用vs编译软件
    在这里插入图片描述
    二、主要功能
    登录、添加学生信息、修改学生信息、删除学生信息、查询学生信息
    三、实现步骤
    1、登陆界面功能实现
    老规矩,先贴下主要代码:

    		//构造方法
    		public Login()
            {
                InitializeComponent();
                this.label3.Parent = this;
                this.label1.BackColor = Color.Transparent;
                this.label2.BackColor = Color.Transparent;
                this.label3.BackColor = Color.Transparent;
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            }
            //对登录按钮的事件实现代码
            private void button1_Click(object sender, EventArgs e)
            {
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                SqlConnection conn = new SqlConnection(ss);
                try
                {
                     //开启连接           
                     conn.Open();           
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                     //MessageBox.Show("数据库连接失败!");
                }         
                String uname = txtName.Text.Trim();
                string pword = txtPass.Text.Trim();
                if(uname == ""|| pword == "")
                {
                    MessageBox.Show("请输入用户名或密码!");
                    return;
                }
                else
                {
                    SqlCommand cmd = conn.CreateCommand();
                    SqlDataAdapter adp = new SqlDataAdapter();
                    string sql2 = "select * from account where name='"+ uname + " 'and pass='" + pword + " ' ";
                    cmd.CommandText = sql2;
                    adp.SelectCommand = cmd;
                    DataSet dat = new DataSet();
                    adp.Fill(dat, "account");
                    if(dat.Tables["account"].Rows.Count == 0)
                    {
                        MessageBox.Show("用户名或密码错误!");
                        return;
                    }
                    else
                    {
                        Form1.isLogin = true;
                        Form1.username = this.txtName.Text;
                        this.Close();
                    }
                    cmd.Clone();
                }
                conn.Close();
               
            }
            //实现按ESC键关闭该窗口
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                        this.Close();//esc关闭窗体
                        break;
                }
                return false;
            }
            //重置按钮清空文本框
            private void button2_Click(object sender, EventArgs e)
            {
                txtName.Text = "";
                txtPass.Text = "";
            }     
            //密码输入完成后实现敲击enter键触发登录按钮
            private void txtPass_KeyDown(object sender, KeyEventArgs e)
            {
                if(e.KeyCode == Keys.Enter)
                {
                    this.button1_Click(sender, e);
                }
            }
    		//实现按enter键使焦点转移到下一文本框,与tab键通用
            private void txtName_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == (char)Keys.Enter)
                {
                    SendKeys.Send("{tab}");
                }
            }
    

    效果如下图:
    在这里插入图片描述
    2、主界面功能实现
    主要代码如下:

    		public static bool isLogin = false;
            int id;
            SqlConnection conn;
            SqlCommand cmd;
            SqlDataAdapter adp;
            DataSet dat;
            public static string username
            {
                get;
                set;
            }
            public Form1()
            {
                InitializeComponent();
                this.label1.BackColor = Color.Transparent;
                this.groupBox1.BackColor = Color.Transparent;
                this.groupBox2.BackColor = Color.Transparent;
                this.dataGridView1.BorderStyle = BorderStyle.None;
                this.dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None;
                
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                this.Text += "| 管理员:" + username;
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                //建立数据库连接
                conn = new SqlConnection(ss);
                try
                {
                    //开启连接           
                    conn.Open();
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                    MessageBox.Show("数据库连接失败!");
                }
                
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                DataGridViewDataLoad();
                
                //this.stu_dentTableAdapter.Fill(this.students.Stu_dent);
    
            }
    
            private void DataGridViewDataLoad()
            {
                String sql1 = "select * from Stu_dent";
                adp = new SqlDataAdapter(sql1,conn);
                dat = new DataSet();
                adp.Fill(dat);
                dataGridView1.DataSource = dat.Tables[0];
            }
    
            private void button5_Click(object sender, EventArgs e)
            {
                string num = textBox1.Text.Trim();
                string name = textBox2.Text.Trim();
                String sql4 = "Select * from Stu_dent where 1=1";
                if(!String.IsNullOrEmpty(num))
                {
                    sql4 += " and StuNum=" + num;
                }
                if(!String.IsNullOrEmpty(name))
                {
                    sql4 += " and StuName like '%" + name + "%'";
                }
                adp = new SqlDataAdapter(sql4, conn);
                dat = new DataSet();
                adp.Fill(dat);
                dataGridView1.DataSource = dat.Tables[0];
                
            }
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                        this.Close();//esc关闭窗体
                        break;
                }
                return false;
            }
            private void button1_Click(object sender, EventArgs e)
            {
                AddStudent addStudent = new AddStudent();
                addStudent.StartPosition = FormStartPosition.CenterScreen;
                //addStudent.Show();
                addStudent.ShowDialog();
                DataGridViewDataLoad();
            }
    
            private void button4_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                MessageBox.Show("请在学生信息显示框中双击所要删除学生所在的那一行即可!!!","提示");
            }
            private void button3_Click(object sender, EventArgs e)
            {
                MessageBox.Show("请在学生信息显示框中单击所要删修改学生所在的那一行的任意文字区域即可!", "提示");
            }
            private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                DialogResult result = MessageBox.Show("确定删除该学生信息?", "删除", MessageBoxButtons.OKCancel);
                if(result == DialogResult.OK)
                {
                    id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                    Console.WriteLine(id);
                    string sql2 = "delete from Stu_dent where ID=" + id;
                    cmd = new SqlCommand(sql2, conn);
                    cmd.ExecuteNonQuery();
    
                }
                DataGridViewDataLoad();
            }
    
            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                id = Convert.ToInt32(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                UpdateStudent updatestudent = new UpdateStudent(id);
                updatestudent.StartPosition = FormStartPosition.CenterScreen;
                updatestudent.ShowDialog();
                DataGridViewDataLoad();
            }
    

    效果如下:
    在这里插入图片描述
    3、添加学生信息功能实现
    主要代码如下:

    public AddStudent()
            {
                InitializeComponent();
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                //建立数据库连接
                conn = new SqlConnection(ss);
                try
                {
                    //开启连接           
                    conn.Open();
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                    MessageBox.Show("数据库连接失败!");
                }
    
            }
    
            private void AddStudent_Load(object sender, EventArgs e)
            {
                
            }
    
            private void label1_Click(object sender, EventArgs e)
            {
    
            }
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                    this.Close();//esc关闭窗体
                    break;
                }
                return false;
            }
            private void button1_Click(object sender, EventArgs e)
            {
                string StuNum = textBox1.Text.Trim();
                string StuName = textBox2.Text.Trim();
                int StuAge;
                Int32.TryParse(textBox3.Text.Trim(), out StuAge);
                string StuClass = textBox5.Text.Trim();
                string StuPhone = textBox6.Text.Trim();
                string StuSex = radioButton1.Checked ? "男" : "女";
                if (String.IsNullOrEmpty(StuNum))
                {
                    MessageBox.Show("学号不能为空!");
                }
                if (String.IsNullOrEmpty(StuName))
                {
                    MessageBox.Show("姓名不能为空!");
                }
                
                if (String.IsNullOrEmpty(StuClass))
                {
                    MessageBox.Show("班级不能为空!");
                }
                if (String.IsNullOrEmpty(StuPhone))
                {
                    MessageBox.Show("联系方式不能为空!");
                }
                string sql = string.Format("insert into Stu_dent values ('{0}','{1}','{2}','{3}','{4}','{5}')", StuNum, StuName,StuAge,StuSex, StuClass, StuPhone );
                cmd = new SqlCommand(sql, conn);
                int count = cmd.ExecuteNonQuery();
                if (count > 0)
                {
                    MessageBox.Show("添加成功!");
                }
                else
                {
                    MessageBox.Show("添加失败!");
                }
                this.Close();
            }
    

    在这里插入图片描述
    4、删除学生信息功能实现
    在这里采用双击所要删除学生所在的那一行的任意位置即可
    主要代码如下:

    private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                DialogResult result = MessageBox.Show("确定删除该学生信息?", "删除", MessageBoxButtons.OKCancel);
                if(result == DialogResult.OK)
                {
                    id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                    Console.WriteLine(id);
                    string sql2 = "delete from Stu_dent where ID=" + id;
                    cmd = new SqlCommand(sql2, conn);
                    cmd.ExecuteNonQuery();
    
                }
                DataGridViewDataLoad();
            }
    

    效果如下图(双击第一行进行删除):
    删除前:
    在这里插入图片描述
    删除后:
    在这里插入图片描述
    5、修改学生信息功能实现
    在这里采用单击所要修改学生所在行任意文字处即可
    主要代码如下:

    public UpdateStudent(int id)
            {
                this.id = id;
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                conn = new SqlConnection(ss);
                try
                {
                    //开启连接           
                    conn.Open();
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                    MessageBox.Show("数据库连接失败!");
                }
                InitializeComponent();
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            }
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                        this.Close();//esc关闭窗体
                        break;
                }
                return false;
            }
            private void UpdateStudent_Load(object sender, EventArgs e)
            {
                cmd = conn.CreateCommand();
                string sql1 = "select * from Stu_dent where ID=" + id;
                cmd.CommandText = sql1;
                reader = cmd.ExecuteReader();
                if(reader.HasRows)
                {
                    reader.Read();
                    textBox1.Text = reader.GetString(1);
                    textBox2.Text = reader.GetString(2);
                    textBox3.Text = reader.GetInt32(3).ToString();
                    if(reader.GetString(4) == "男")
                    {
                        this.radioButton2.Checked = true;
                    }
                    else
                    {
                        this.radioButton1.Checked = true;
                    }
                    textBox5.Text = reader.GetString(5);
                    textBox6.Text = reader.GetString(6);
                }
    
                reader.Close();
                
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string StuNum = textBox1.Text.Trim();
                string StuName = textBox2.Text.Trim();
                int StuAge;
                Int32.TryParse(textBox3.Text.Trim(), out StuAge);
                string StuClass = textBox5.Text.Trim();
                string StuPhone = textBox6.Text.Trim();
                string StuSex = radioButton1.Checked ? "男" : "女";
                if (String.IsNullOrEmpty(StuName))
                {
                    MessageBox.Show("姓名不能为空!");
                }
    
                if (String.IsNullOrEmpty(StuClass))
                {
                    MessageBox.Show("班级不能为空!");
                }
                if (String.IsNullOrEmpty(StuPhone))
                {
                    MessageBox.Show("联系方式不能为空!");
                }
                string sql = string.Format("update Stu_dent set StuName='{0}',StuAge={1},StuSex='{2}',StuClass='{3}',StuPhone='{4}' where StuNum='{5}'", StuName, StuAge, StuSex, StuClass, StuPhone, StuNum);
                cmd = new SqlCommand(sql, conn);
                int count = cmd.ExecuteNonQuery();
                if (count > 0)
                {
                    MessageBox.Show("修改成功!");
                }
                else
                {
                    MessageBox.Show("修改失败!");
                }
                this.Close();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                cmd = conn.CreateCommand();
                string sql1 = "select * from Stu_dent where ID=" + id;
                cmd.CommandText = sql1;
                reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    reader.Read();
                    textBox1.Text = reader.GetString(1);
                    textBox2.Text = reader.GetString(2);
                    textBox3.Text = reader.GetInt32(3).ToString();
                    if (reader.GetString(4) == "男")
                    {
                        this.radioButton2.Checked = true;
                    }
                    else
                    {
                        this.radioButton1.Checked = true;
                    }
                    textBox5.Text = reader.GetString(5);
                    textBox6.Text = reader.GetString(6);
                }
    
                reader.Close();
            }
    

    (在这里将郭某某的专业班级为例)
    修改前:
    在这里插入图片描述
    修改后:
    在这里插入图片描述
    6、查询学生信息功能实现
    查询功能就写了两种查询方式
    主要代码如下:

    private void button5_Click(object sender, EventArgs e)
            {
                string num = textBox1.Text.Trim();
                string name = textBox2.Text.Trim();
                String sql4 = "Select * from Stu_dent where 1=1";
                if(!String.IsNullOrEmpty(num))
                {
                    sql4 += " and StuNum=" + num;
                }
                if(!String.IsNullOrEmpty(name))
                {
                    sql4 += " and StuName like '%" + name + "%'";
                }
                adp = new SqlDataAdapter(sql4, conn);
                dat = new DataSet();
                adp.Fill(dat);
                dataGridView1.DataSource = dat.Tables[0];
                
            }
    

    效果如下:
    按学号查询:
    在这里插入图片描述
    按姓名查询:
    在这里插入图片描述
    总结:这是上完c#课后,自己无聊整着玩的,功能实现简单易懂,比较容易,希望能对你的学习有所帮助。对了,每个窗体的背景图片是我再网上随便找的,你可以选择你喜欢的背景。
    https://download.csdn.net/download/yang_shuai_/12911668

    展开全文
  • java 学生信息管理系统

    万次阅读 多人点赞 2015-10-06 14:03:33
    学生信息管理包括添加,删除,修改,查询,显示全部等 具体结构如图 在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言 在sql server 2005新建一个名为Student的数据库,在下面新建一...

    只设计了一部分 全部的太多了。会慢慢更新增加。

    学生信息管理包括添加,删除,修改,查询,显示全部等

    具体结构如图

    在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言

    在sql server 2005新建一个名为Student的数据库,在下面新建一个名为stu的表

    再新建一个名为login的表 存贮账号 密码

    当然 列名你可以随便写 当然 要有个学号啊。我的修改等等都是根据学号的。

    这是登录界面入口

     

    package 学生信息管理系统;
    import java.sql.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.Color;
    public class 学生信息管理系统 {
    	public static void main(String[] args) {
    		new loginFrame();
    	}
    }
    class loginFrame extends JFrame implements ActionListener{
    	Box box1,box2,baseBox;
    	JLabel userName,userPwd,tubiao;
    	JTextField nameField;
    	JPasswordField pwdField;
    	JButton button;
    	JTabbedPane choose;
    	JPanel panel1,panel2;
    	loginFrame(){
    		setBackground(Color.green);
    		tubiao=new JLabel(new ImageIcon("image/4.png"));
    		add(tubiao,BorderLayout.NORTH);
    		userName=new JLabel("账号",JLabel.CENTER);
    		userPwd=new JLabel("密码",JLabel.CENTER);
    		nameField=new JTextField(8);
    		pwdField=new JPasswordField(8);
    		panel1=new JPanel();
    		panel2=new JPanel();
    		choose=new JTabbedPane();
    		choose.add("教师登陆",panel1);
    		choose.add("学生登陆",panel2);
    		panel1.setLayout(new GridLayout(2,2));
    		panel1.add(userName);panel1.add(nameField);
    		panel1.add(userPwd);panel1.add(pwdField);
    		add(choose,BorderLayout.CENTER);
    		button=new JButton("登陆");
    		add(button,BorderLayout.SOUTH);
    		button.addActionListener(this);
    		ImageIcon tubiao=new ImageIcon("image/3.png");
    		setIconImage(tubiao.getImage());
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    		setBounds(400,150,300,250);
    		setTitle("登陆");
    		validate();
    	}
    	public void actionPerformed(ActionEvent e){
    		String name,pwd;
    		name=nameField.getText();
    		pwd=pwdField.getText();
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException ex){
    		System.out.println(ex);
    		}
    		try{
    			Connection con;
    			Statement sql;
    			ResultSet rs;
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			rs=sql.executeQuery("select * from login where name ='"+name+"' and pwd='"+pwd+"'");
    			int q=0;
    			while(rs.next()){
    				q++;
    			}
    			if(q>0){
    				JOptionPane.showMessageDialog(this, "登陆成功!","消息对话框",JOptionPane.WARNING_MESSAGE);
    				this.dispose();
    				new CommFrame();
    				
    			}
    			else
    				JOptionPane.showMessageDialog(this, "账号或者密码错误!","消息对话框",JOptionPane.WARNING_MESSAGE);
    		}
    		catch(SQLException exp){
    			System.out.println(exp);
    		}
    	}
    }

     

     

     


    这是登陆界面:

     

     

     

    登陆成功后 点击确定 登陆界面会消失  出现学生信息界面 。我的初始密码是12345 12345 

    你也可以随便设置。

    还有我只设置了教师登陆的界面,学生登陆的界面没有设置。

    然后就是一个集合所有窗口的卡片式布局,称为CommFrame

     

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.awt.color.*;
    import java.awt.*;
    import java.awt.event.*;
    public class CommFrame extends JFrame implements ActionListener{
    	JMenuBar bar;
    	JMenu menu;
    	JMenuItem scanItem,deleteItem,updateItem,insertItem,searchItem;
    	Scan_stu scan;//查看所有学生信息
    	Delete_stu delete;//删除学生信息
    	Update_stu update;//更新学生信息
    	Insert_stu insert;//插入学生信息
    	Search_stu search;//查找学生信息
    	CardLayout card=null;
    	JPanel pCenter;
    	CommFrame(){
    		setLayout(new FlowLayout());
    		scanItem=new JMenuItem("浏览");
    		deleteItem=new JMenuItem("删除");
    		updateItem=new JMenuItem("修改");
    		insertItem =new JMenuItem("添加");
    		searchItem=new JMenuItem("查找");
    		bar=new JMenuBar();
    		menu=new JMenu("菜单");
    		menu.add(scanItem);
    		menu.add(deleteItem);
    		menu.add(updateItem);
    		menu.add(insertItem);
    		menu.add(searchItem);
    		bar.add(menu);
    		setJMenuBar(bar);
    		scanItem.addActionListener(this);
    		deleteItem.addActionListener(this);
    		updateItem.addActionListener(this);
    		insertItem.addActionListener(this);
    		searchItem.addActionListener(this);
    		scan=new Scan_stu();
    		update=new Update_stu();
    		delete=new Delete_stu();
    		insert=new Insert_stu();
    		search=new Search_stu();
    		card=new CardLayout();
    		pCenter=new JPanel();
    		pCenter.setLayout(card);
    		pCenter.add("scanItem", scan);
    		pCenter.add("deleteItem",delete);
    		pCenter.add("updateItem",update);
    		pCenter.add("insertItem",insert);
    		pCenter.add("searchItem",search);
    		add(pCenter,BorderLayout.SOUTH);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    		setBounds(400,150,550,400);
    		setTitle("学生信息管理系统");
    		validate();
    	}
    	public void actionPerformed(ActionEvent e){
    		if(e.getSource()==scanItem)
    			card.show(pCenter, "scanItem");
    		else if(e.getSource()==deleteItem)
    			card.show(pCenter, "deleteItem");	
    		else if(e.getSource()==updateItem)
    			card.show(pCenter, "updateItem");
    		else if(e.getSource()==insertItem)
    			card.show(pCenter, "insertItem");
    		else if(e.getSource()==searchItem)
    			card.show(pCenter, "searchItem");
    	}
    
    }
    

    这里是浏览所有学生信息:Scan_stu

     

     

    package 学生信息管理系统;
    import java.awt.*;
    
    import javax.swing.JFrame;
    
    import java.awt.event.*;
    
    import javax.swing.*;
    import javax.swing.table.*;
    public class Scan_stu extends JPanel implements ActionListener{
    	DefaultTableModel update_table;
    	JTable table;
    	Query query;
    	JButton button;
    	Object a[][];
    	String b[];
    	Scan_stu(){
    		setLayout(new FlowLayout());
    		setBackground(Color.green);
    		query=new Query();
    		query.setTableName("stu");
    		a=query.getRecord();
    		b=query.getField();
    		update_table=new DefaultTableModel(a, b);
    		table=new JTable(update_table);
    		button=new JButton("更新");
    		button.addActionListener(this);
    		JScrollPane scrollPane = new JScrollPane(table);
    		scrollPane.setBounds(0,0,550,380);
    		table.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));//使表格出现滑动条
    		add(scrollPane);
    		add(button);
    	}
    	public void actionPerformed(ActionEvent e){
    		a=null;b=null;
    		query=new Query();
    		query.setTableName("stu");
    		a=query.getRecord();
    		b=query.getField();
    		update_table.setDataVector(a, b);
    	}
    }
    

    这里是界面

     

     

    再加上Scan_stu调用的Query查找函数

     

    package 学生信息管理系统;
    import java.sql.*;
    public class Query {
    	Object a[][]=null;
    	String b[]=null;
    	String tableName="";
    	int 字段个数;
    	public Query(){
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException e){
    			System.out.println(e);
    		}
    	}
    	public Object[][] getRecord(){//求表格的内容
    		a=null;
    		b=null;
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			int 字段个数=getZiDuan();
    			int n=getAmount();
    			a=new Object[n][字段个数];
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery("select * from "+tableName);
    			int m=0;
    			while(rs.next()){
    				for(int k=1;k<=字段个数;k++){
    					a[m][k-1]=rs.getString(k);
    				}
    				System.out.println();
    				m++;
    			}
    			con.close();
    		}
    		catch(SQLException e){
    			System.out.println("请输入正确的表名"+e);
    		}
    		return a;
    	}
    	public int getAmount(){//求表内容有多少行
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery("select * from "+tableName);
    			rs.last();
    			int rows=rs.getRow();
    			return rows;
    		}
    		catch(SQLException exp){
    			System.out.println(""+exp);
    			return 0;
    		}
    	}
    	public String[] getField(){//求字段名称
    		Connection con;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			DatabaseMetaData metadata=con.getMetaData();
    			ResultSet rs1=metadata.getColumns(null, null, tableName, null);
    			int 字段个数=getZiDuan();
    			b=new String[字段个数];
    			int k=0;
    			while(rs1.next()){
    				b[k]=rs1.getString(4);
    				k++;
    			}
    			con.close();		
    		}
    		catch(SQLException e){
    			System.out.println(e);
    		}
    		return b;
    	}
    	public void setTableName(String s){//初试表名
    		tableName=s.trim();
    	}
    	public int getZiDuan(){//求字段个数
    		Connection con;
    		PreparedStatement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			DatabaseMetaData metadata=con.getMetaData();
    			ResultSet rs1=metadata.getColumns(null, null, tableName, null);
    			字段个数=0;
    			while(rs1.next())
    				字段个数++;
    		}
    		catch(SQLException e){
    			System.out.println(e);
    		}
    		return 字段个数;
    	}
    }
    

     

     

     

     

     

    然后是删除学生信息函数

    Delete_stu

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Delete_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Delete delete;
    	String tableName;
    	Delete_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击删除"));
    		button=new JButton("删除");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		if(field[mark].getText().toString().equals("")==true)
    			JOptionPane.showMessageDialog(this, "带*号为必填内容","消息对话框",JOptionPane.WARNING_MESSAGE);
    		else
    		{
    			Delete delete=new Delete();
    			delete.setTableName("stu");
    			delete.setField(field);
    			delete.setA(a);
    			delete.Execute_Delete(mark);
    		}
    	}
    }
    


    这是界面

     

    这是调用的删除函数:Delete

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Delete extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Delete(){
    		
    	}
    	public void  Execute_Delete(int n){
    		String SQL="";
    		Connection con;
    		Statement sql;
    		SQL="delete from "+tableName+" where "+a[n]+" ='"+field[n].getText().toString()+"'";
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql.executeUpdate(SQL);
    			con.close();
    			JOptionPane.showMessageDialog(this, "删除成功","消息对话框",JOptionPane.WARNING_MESSAGE);
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);;
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    

    然后是修改学生信息的Update_stu函数

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Update_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Update update;
    	String tableName;
    	Update_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击修改"));
    		button=new JButton("修改");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		int i;
    		for(i=0;i<n;i++){
    			if(a[i].equals("学号")==true&&field[i].getText().toString().equals("")==true){
    				mark=i;
    				JOptionPane.showMessageDialog(this, "带*必须填写!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    				break;
    			}
    		}
    		if(i==n){
    			int choose=JOptionPane.showConfirmDialog(this, "请确保你的学号是正确的,否则会更新失败!!!如果学号错误"
    					+ "请先删除再添加","消息对话框",JOptionPane.WARNING_MESSAGE);
    			if(choose==JOptionPane.YES_OPTION){
    				Update update=new Update();
    				update.setTableName("stu");
    				update.setField(field);
    				update.setA(a);
    				update.Execute_Update(mark);
    				JOptionPane.showMessageDialog(this, "更新成功!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    			}
    		}
    	}
    
    }
    


    这是界面

     

    这是调用的修改函数Update

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Update extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Update(){
    		
    	}
    	public void  Execute_Update(int mark){
    		String SQL[]=new String [a.length];
    		Connection con;
    		Statement sql;
    		for(int i=0;i<a.length;i++)
    		{
    			if(i!=mark)
    			SQL[i]="update "+tableName+" set "+a[i]+" ='"+field[i].getText().toString()+"' where "+a[mark]+" ='"+field[mark].getText().toString()+"'";
    		}
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			for(int i=0;i<field.length;i++)
    				if(i!=mark&&field[i].getText().toString().equals("")==false)
    					sql.executeUpdate(SQL[i]);
    			con.close();
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    


    添加学生信息函数:Insert_Stu

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Insert_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Insert insert;
    	String tableName;
    	Insert_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击添加"));
    		button=new JButton("添加");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		int i;
    		for(i=0;i<n;i++){
    			if(field[i].getText().toString().equals("")==true){
    				JOptionPane.showMessageDialog(this, "必须全部填写","消息对话框",JOptionPane.WARNING_MESSAGE);
    				break;
    			}
    			if(a[i].equals("学号")==true){
    				mark=i;
    			}
    		}
    		if(i==n){
    				Insert insert=new Insert();
    				insert.setTableName("stu");
    				insert.setField(field);
    				insert.setA(a);
    				insert.Execute_Insert(mark);
    			}
    		}
    
    }
    


     

     

     

    调用的添加函数Insert

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Insert extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	Update update;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Insert(){
    		
    	}
    	public void  Execute_Insert(int mark){
    		String SQL;
    		Connection con;
    		Statement sql;
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			SQL="insert "+tableName+"("+a[mark]+") values ('"+field[mark].getText().toString()+"')";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql.execute(SQL);
    			con.close();
    			update =new Update();
    			update.setTableName(tableName);
    			update.setField(field);
    			update.setA(a);
    			update.Execute_Update(mark);
    			JOptionPane.showMessageDialog(this, "添加成功!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);;
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    


    然后是查找学生信息的Search_stu函数

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
    
    import java.awt.color.*;
    import java.sql.*;
    public class Search_stu extends JPanel implements ActionListener{
    	Box box[],baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark,m;
    	Search search;
    	String tableName;
    	DefaultTableModel search_table;
    	Object object[][];
    	String b[];
    	Search_stu(){
    		setLayout(new FlowLayout());
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		n=a.length;
    		box=new Box [n+1];
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			box[i]=Box.createHorizontalBox();
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true){
    				box[i].add(new JLabel("  "+a[i]));
    				box[i].add(Box.createHorizontalStrut(8));
    				box[i].add(field[i]);
    			}
    			else{
    				box[i].add(new JLabel("  "+a[i]));
    				box[i].add(Box.createHorizontalStrut(8));
    				box[i].add(field[i]);
    			}
    		}
    		object =new Object[0][0];
    		search_table=new DefaultTableModel(object, a);
    		JTable table=new JTable(search_table);
    		button=new JButton("查找");
    		button.addActionListener(this);
    		box[n-1].add(new JLabel("  单击查找"));
    		box[n-1].add(Box.createHorizontalStrut(8));
    		box[n-1].add(button);
    		baseBox=Box.createVerticalBox();
    		for(int i=0;i<n;i++){
    		baseBox.add(box[i]);
    		baseBox.add(Box.createVerticalStrut(8));
    		}
    		JScrollPane scrollPane=new JScrollPane(table);
    		scrollPane.setBounds(0,0,550,380);
    		table.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));
    		baseBox.add(scrollPane); 
    		add(baseBox);
    		table.revalidate();
    		
    	}
    	public void actionPerformed(ActionEvent e){
    		int i,sum=0;
    		for(i=0;i<n;i++){
    			if(field[i].getText().toString().equals("")==true)
    				sum++;
    		}
    		System.out.println(sum);
    		if(sum==n)
    			JOptionPane.showMessageDialog(this, "你未输入任何内容,请重新输入!","消息对话框",JOptionPane.WARNING_MESSAGE);
    		else{
    			Search search=new Search();
    			search.setTableName("stu");
    			search.setField(field);
    			search.setA(a);
    			search.Execute_Search();	
    			object=null;b=null;
    			query=new Query();
    			query.setTableName("stu");
    			object=search.getRecord();
    			search_table.setDataVector(object, a);
    		}
    	}
    }
    


    这是查找界面

     

    然后是查找函数:

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Search extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	Object object[][];
    	String b[];
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Search(){
    		
    	}
    	public void  Execute_Search(){
    		String SQL="select * from "+tableName+" where ";
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		int sum=0;
    		for(int i=0;i<a.length;i++)
    		{
    			if(field[i].getText().toString().equals("")==false){
    				if(sum==0)
    					SQL=SQL+a[i]+" = '"+field[i].getText().toString()+"'";
    				else
    					SQL=SQL+" and "+a[i]+" = '"+field[i].getText().toString()+"'";
    				sum++;
    			}
    			
    		}
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery(SQL);
    			rs.last();
    			object =new Object[rs.getRow()][a.length];
    			rs.beforeFirst();
    			int ncase=0;
    			while(rs.next()){
    				for(int i=1;i<=a.length;i++){
    					object[ncase][i-1]=rs.getString(i);
    				}
    				ncase++;
    			}
    			con.close();
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    	public Object[][] getRecord(){
    		return object;
    	}
    }
    


    写的时候没发现  现在看看挺多的。。其实代码不多,我每个删除 更新 添加 查看 查找 之所以又写了一个删除 更新 添加 查找函数 因为我还会往下写的。。在后面更新 会 查找课程信息 成绩信息 什么的直接调用函数就行了。所以不要嫌多。。而且这些函数的内容都是差不多的。

     

    比如写完一个更新操作 把里面的sql语句改改 不就是删除操作吗。。内容看着多 其实都一样。一起加油吧!

     

    展开全文
  • Python题目:学生信息管理系统-高级版(图形界面+MySQL数据库) 使用图形界面显示,选用list、tuple、dictionary或map等数据结构,操作数据库存储X个学生的三门课的成绩(机器学习、Python程序设计、研究生英语)...
  • JavaWeb-简单学生信息管理系统的实现-Jsp+Servlet+MySql

    万次阅读 多人点赞 2019-04-05 14:58:42
    关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~ 关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~ 关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~
  • 学生信息管理系统(php+MySql)

    万次阅读 多人点赞 2019-06-15 14:17:37
    php大作页,使用php+mysql技术,实现... 有以下几个基本页面 登录页面 ...增加学生信息 源码在我的github上,欢迎大家访问 https://gitee.com/zxhjames/zxh/tree/master/StudentInformationManageSystem ...
  • Java+学生信息管理系统+GUI+文件

    万次阅读 多人点赞 2019-07-05 20:10:03
    该系统可实现学生信息的增加,删除,修改,查询,并将学生信息存储在文件中 其中, 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以...
  • 基于javaweb实现学生成绩管理系统,实现了学生信息管理,课程管理,教师信息管理,学生成绩汇总,学生登录注册,教师和管理员的登录,个人信息修改等。 系统功能大致描述:基于javaweb实现学生成绩管理系统,实现了学生信息...
  • 该项目主要实现对学生信息的管理,通过学生信息管理系统能够进行学生信息的增加、查看,查询,删除等功能,实现学生管理工作的系统化和自动化。 该项目已经上传到github了,想看源码请移步:...
  • 练习一:请画出学生信息管理系统的用例图 “学生信息管理系统” 功能性需求包括以下内容:  (1)系统管理员登录后可以对班级的基本信息进行增加、删除、修改、查询等操作。学校领导登录后可以对班级基本信息进行...
  • C语言 学生信息管理系统【图文背景丰富+代码】

    万次阅读 多人点赞 2020-07-25 11:10:24
    设计一个能够保证信息的准确性和时效性,随时通过计算机对系统进行管理,使得学生信息处于最新状态,保证统计数据和分析准确的具有增删改查学生成绩信息的系统,并为高校学生信息管理提供一种更加高效实用的管理手段...
  • 学生信息管理系统--(Java+MySQL实现)

    万次阅读 多人点赞 2016-01-07 15:02:15
    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家。(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 1、 开发环境:jdk7+MySQL5+win7 ...
  • c语言课程设计,学生信息管理系统

    万次阅读 多人点赞 2019-03-06 21:20:50
    学生信息管理系统 题目: 新生入学,需要管理学生信息,要求如下: 能够通过键盘进行输入学生的信息,比如:学生姓名,学号,性别,班级,专业,入学成绩; 能够通过键盘输入要录入的学生的个数; 能够...
  • Python项目:学生信息管理系统(完整版)

    万次阅读 多人点赞 2018-06-06 19:11:10
    本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能。 主要包括有: 完善部分:输入错误;无数据查询等异常错误 新的功能:文件的操作:文件的读写,其中重点是对文本字符...
  • JAVA 学生信息管理系统

    万次阅读 多人点赞 2019-06-28 15:09:10
    java 学生信息管理系统 主要使用的增删改查操作 首先,需要先建一个文件(点击左上角File,选择第一个New里的第一个Java Project) 然后再建一个Javabean包,在这个包里新建一个class类 package ...
  • 目录​ 项目背景 功能设计 角色设计 主要技术 具体功能实现 ...学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近..
  • 【实战】javaweb学生信息管理系统

    万次阅读 多人点赞 2018-04-15 21:10:00
    javaweb学生信息管理系统总的来说整个项目通过Maven来管理jar包,实现了学生信息管理系统的登录,增删改查等基本操作,然后不喜写css样式,页面有点丑,但是代码中的逻辑基本正确。项目下载链接csdn下载链接github...
  • C#学生信息管理系统

    千次阅读 多人点赞 2020-07-16 21:15:31
    C#学生信息管理系统 会搜索学生信息管理系统,想必兄台是个正在实训阶段的大学生吧。如果你的实训内容是用C#开发一个学生信息管理系统的话,那么这篇文章或许可以帮到你,说不好还可以让你的实训作品脱颖而出,让...
  • Java+MySQL实现学生信息管理系统

    万次阅读 多人点赞 2018-08-14 11:41:35
    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家。 源码: https://github.com/ZhuangM/student.git 1、开发环境:jdk7+MySQL5+win7 代码结构...
  • 学生信息管理系统(Java+JSP+MySQL)

    万次阅读 多人点赞 2019-01-27 22:34:46
    本篇博客展示的学生信息管理系统(Java+JSP+MySQL)仅包含对学生信息的增删改查操作,前端页面仅略作修饰; 本篇博客以代码展示为主,具体功能实现的详细步骤请返回目录阅读其他章节内容; 本篇博客展示的代码与...
  • 基于python的学生信息管理系统

    千次阅读 多人点赞 2020-11-25 20:39:44
    学生管理系统主要包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、统计学生总数、显示学生信息,这几项功能。其中录入学生的信息包括学号、姓名、英语成绩、python成绩、数学成绩、总...
  • 学生信息管理系统c++

    万次阅读 2017-07-01 19:28:02
    一个简单的c语言学生信息管理系统,是控制台程序。 运行界面如下,功能已经全部实现 本资料绝对原创,请认准发表时间,如有相同,请私信我。
  • 功能: 实现学生信息管理。包括:录入、查询、排序等功能。 要求: 用数据文件保存学生基本信息(学号 姓名 课程1 课程2 课程3…) ,利用菜单可以循环实现各个功能。 进一步要求*: (1) 能够实现增加、删除、修改功能...
  • 学生信息管理系统(Java+JSP)

    万次阅读 多人点赞 2019-01-23 13:33:38
    简易的学生信息管理系统(含源码)
  • 该文就先介绍下查找。 运行出来的界面是怎么样...在学生信息出现界面,还可以进行修改学生信息,本文主要是实现查找功能。 package com.sys.view; import javax.swing.JDialog; import java.awt....
  • Java实训项目:GUI学生信息管理系统(2017)

    万次阅读 多人点赞 2018-02-19 08:39:32
    Java实训项目:GUI学生信息管理系统(2017) 实训目的:让学生综合运用J2SE有关知识开发【学生信息管理系统】。主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。...
  • 基于java+mysql 实现的学生信息管理系统

    万次阅读 多人点赞 2019-07-15 15:14:43
    引言:Java实现学生信息管理系统,主要有一种是GUI图形界面实现,另一种是控制台输出,还有java web实现的,(基于Maven)甚至用SSM框架实现,springboot等都是可以的,但底层语言都是用的Java 语言,如果有需要类似...
  • Java实现学生信息管理系统

    万次阅读 多人点赞 2021-03-28 11:12:43
    学生信息管理系统,要求完成以下基本任务: 1.有良好程序风格(文档注释,函数注释,语句注释)。 2.将功能补充完全(基于文件处理,完成刷新和保存功能)。 3.将学生信息改为更好的数据组织,而非离散形式...
  • 学生信息管理系统

    千次阅读 2019-01-11 14:04:54
    C# Winform + SQLServer 做的学生信息管理系统。 实现了: 1、管理员或学生登录 2、管理员可以增加、删除、修改、查询学生信息。 3、学生只可以浏览信息,不可编辑或修改。 截图如下: 登录界面:   从用户...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 474,272
精华内容 189,708
关键字:

学生信息