最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

科研管理系统课程设计报告

来源:动视网 责编:小OO 时间:2025-09-26 00:21:38
文档

科研管理系统课程设计报告

《数据库系统概论》课程设计实验报告书安徽工业大学计算机学院姓名黄飞专业网络工程班级111班学号119074292指导教师周兵分数2013年12月18日摘要本系统为科研管理系统,是基于.net的数据库管理系统。本系统采用C#编写,充分利用.Net框架的各种组件和sqlserver2005数据库管理软件,例如Button控件,label控件,Textbox控件,radiobutton控件,datagridview控件等等。本系统有登陆界面,登陆身份分为管理员和普通用户,通过管理员登陆可以实现修改,
推荐度:
导读《数据库系统概论》课程设计实验报告书安徽工业大学计算机学院姓名黄飞专业网络工程班级111班学号119074292指导教师周兵分数2013年12月18日摘要本系统为科研管理系统,是基于.net的数据库管理系统。本系统采用C#编写,充分利用.Net框架的各种组件和sqlserver2005数据库管理软件,例如Button控件,label控件,Textbox控件,radiobutton控件,datagridview控件等等。本系统有登陆界面,登陆身份分为管理员和普通用户,通过管理员登陆可以实现修改,
《数据库系统概论》课程设计

实验报告书

安徽工业大学计算机学院

姓    名

           黄飞

专    业

网络工程

班    级

111班

学    号

        119074292

指导教师        周兵

分   数

2013年 12 月 18  日

摘  要

  本系统为科研管理系统,是基于.net的数据库管理系统。本系统采用C#编写,

充分利用.Net框架的各种组件和sql server 2005数据库管理软件,例如 Button控件,label控件,Textbox控件,radiobutton控件,datagridview控件等等。

      本系统有登陆界面,登陆身份分为管理员和普通用户,通过管理员登陆可以实现修改,删除添加操作,通过普通用户登陆,可以实现对数据的查看操作,查看时通过输入关键字即主键来调出所要查的信息。各个界面直观,简洁明了。

起初在开发本系统的时候,不知道是用JAVA做好还是C#好,最后发现C#里面有很多的控件,觉得C#比较方便,于是便通过查看有关C#winform程序设计的书,认真学习了相关控件,对相关控件的作用属性有了了解,然后进行开发,编写程序。在开发的过程中,总是会遇到各种小错误,比如在对数据库插入操作时,C#里面的sql语句对于字符串要加单引号的,我没有加,找了半天错误都没找出来哪里出错了,最后百度了这个问题,一下就解决了。在做这个系统的过程中,我不断的学习,不断的掌握了各种知识,从而兴趣也越来越大,最终花了一个多的星期大致完成了本系统,本系统还有部分功能没有实现,在今后我会全部实现这些功能。

关键词:科研管理系统 C/S, SQL server2005, C#

1.

1 绪  论

1.1 概述

1.1.1 问题的提出

        如今科研信息特别多,杂乱无章不方便用户查询 修改,添加,删除等操作,为了便于对数据的管理,提出做一个科研管理系统来管理这些信息。

1.1.2 本课题的意义

    1.通过编写科研管理系统,方便用户对数据的管理,在编写程序的过程中使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。

2. 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;

3. 学习数据库应用系统开发方法。培养学生初步的软件设计能力,形成良好的编程风格

1.2 开发环境与工具介绍

     开发环境 c# 语言,.Net平台,sql server 2005 搭建服务器

1.2.1 ADO.NET简介

       ado.net可让开发人员以一致的方式存取资料来源(例如 SQL Server 与 XML),以及透过 OLE DB 和 ODBC 所公开的资料来源。资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取、处理及更新其中所含的资料。[1]

ado.net可将资料管理的资料存取分成不连续的元件,这些元件可分开使用,也可串联使用ado.net也包含 .NET Framework 资料提供者,以用于连接资料库、执行命令和撷取结果。这些结果会直接处理、放入ado.net DataSet 物件中以便利用机器操作 (Ad Hoc)的方式公开给使用者、与多个来源的资料结合,或在各层之间进行传递。DataSet 物件也可以与.NET Framework 资料提供者分开使用,以便管理应用程序本机的资料或来自 XML 的资料。[1]

ado.net类别 (Class) 位于 System.Data.dll 中,而且会与 System.Xml.dll 中的XML 类别整合。[1]

ado.net可为撰写 Managed 程式码的开发人员提供类似于ActiveX Data Objects (ADO)提供给原生元件物件模型 (Component Object Model,COM)开发人员的功能。建议使用ado.net而非ADO来存取.NET 应用程序中的资料。[1]

ADO .NET会提供最直接的方法,让开发人员在 .NET Framework 中进行资料存取

1.2.2 科研管理系统研究状况

      如今社会科研项目越来越多,对科研项目管理的研究也越来越多,到目前为止,绝大多数高校没有一套完整.先进。使用的科研管理系统在实际运行,造成这种状况的原因是多方面的,不仅仅是软件研究的难度和复杂度问题,更重要的是观念和认识的问题,以及管理不统一,不规范的问题。随着我国高等教育改革的不断深化和教育管理现代化的不断推进,全面实现可研管理网络化。信息化.现代化已迫在眉睫。因此,许多高校开始新一轮注重软件建设,开始对科研管理系统进行研究开发。

2 系统需求分析与设计

2.1 用户需求分析

2.1.1 用户需求    

 每个部门(DEPT)有若干个教师(TEACHER),每个教师只能属于一个部门;每个教师可参加多个科研项目(PROJ),一个科研项目可有若干教师参加;某一个教师管理一个科研项目,每个科研项目只有一个管理者;每个科研项目可能获一项成果;参与获奖项目的教师有一个证书排名。

教师职称的不同,其岗位工资与津贴工资也不同。

2.1.2 系统功能需求分析

     系统功能分为两部分功能,一个是普通用户功能,普通用户可以查看各种项目信息,教师信息,成果信息,以及项目管理等信息。另一个是管理员功能,管理员可以对各种项目信息,教师信息,成果信息,以及项目管理等信息进行增加,修改,删除操作。

2.1.3 系统性能需求    

        系统通过相关接口函数来连接数据库,对数据库进行操作。本系统是一个的数据库系统,拥有自己的数据库,自己的用户,自己的CPU,运行自己的DBMS,执行局部应用。

2.1.4 数据分析    

     数据需要统一存在在一个服务器上,用户不需要关系数据的物理位置分布细节,也不关系数据副本的一致性,对数据的操作完全由系统来实现。

2.2 功能模块图及分模块功能描述

2.2.1 系统的功能模块图    

      

2.2.2 系统功能模块简介    

       首先是登陆界面,分为一般用户登陆和管理员登陆,一般用户进行查询操作,管理员可以进行添加,修改,删除操作。

2.3 数据库设计

2.3.1 系统E-R图    

       

2.3.2 数据库逻辑结构设计    

 由E—R图可知关系模式为:

   部门(部门编号,部门名称,负责人,地址,邮编,联系电话)

   教师(教师号,姓名,性别,民族,文化程度,所在部门,职称,基本工资,岗位工资,津贴工资)

   项目(项目编号,项目名称,项目来源,经费,开始时间,参加人员角色)

   科研成果(成果编号,项目名称,类别,级别,等级,证书排名,批准时间)

   参加(教师号,项目编号,参加时间)

   管理(教师号,项目编号,管理时间)

通过对此关系模式进行评价确定了此模式,然后在数据库里建了六张相应的表如下图:

   

 

3 系统实施

3.1 建立数据库

       本系统用的是SQL server 2005数据库,直接建了一个名为Design的数据库,然后新建六张表,设置各个属性的类型,设置各个表的主键。

3.2 数据库连接

       String strConn = @"server=JOHN-PC\\SQL2005;database=design;user=sa;pwd=123";

        try

 {

               SqlConnection conn = new SqlConnection(strConn);

                conn.Open();

             }

        catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

   第一条语句定义连接数据库的字符串,try里面定义数据库连接对象,并将连接字符串传给这个对象,再通过Open();方法打开数据库。Catch里面实现的是如果连接不成功,抛出不成功的异常。

3.3 主要模块实施

3.3.1 登录模块的开发    

       登陆模块截图:

       

登陆模块主要代码:

    using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace 科?研D管¨¹理¤¨ª系¦Ì统ª3

{

 

    public partial class Form登Ì?录? : Form

    {

        public Form登Ì?录?()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            if (textBox1.Text == "admin" && textBox2.Text == "123" && radioButton2.Checked == true)

            {

                this.Hide();

                Form増?删¦?改? form2 = new Form増?删¦?改?();

                form2.Show();

            }

            else if (textBox1.Text == "users" && textBox2.Text == "123" && radioButton1.Checked == true)

            {

                this.Hide();

               // Form3 form3 = new Form3();

               // form3.Show();

            }

            else

            {

                MessageBox.Show("输º?入¨?有®D误¨®,ê?请?检¨¬查¨¦用®?户¡ì名?和¨ª密¨¹码?!ê?");

            }

        }

        private void button2_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }

    }

}

3.3.2 增删改查模块开发    

       由于各个部分功能截图较多,实现代码较多,不方便放到这个文档中,所以已经将本系统界面以及相应的代码打包发到老师您的邮箱中,请查收。

3.4 系统测试

3.4.1 软件测试的对象

           1.科研管理系统的查看功能

           2.科研管理系统的添加功能

           3.科研管理系统的修改功能

           4.科研管理系统的删除功能

3.4.2 软件测试的结果

       添加功能截图:

         

修改功能截图:

4 系统说明

4.1 开发环境

本系统的是在.NET平台下开发的,系统的后台数据库为sql server 2005数据库;因此在使用本系统前,应先安装.NET框架和sql server 2005数据库,否则该系统无法运行。

4.2 系统安装、配置与发布应用程序的步骤

系统的原文件直接复制到机器上后,在数据库管理系统上建立一个名为Design的数据库后,系统便可以运行。

管理员   用户名:admin

         密码:  123

普通用户 用户名:users

         密码:123

总 结

     花了接近一个星期的时间,这一个星期我不敢说自己有多大的进步,获得了多少知识,掌握了多少知识,但起码是了解了项目开发的部分过程。虽然,上过数据库这门课程,但是我们在课程上学习的只是理论知识,有了这次亲身经历科研管理系统设计的过程细节,使我对数据库有了更深一层次的认识。    

     对于这次设计的科研管理系统,实现的功能有部门信息.教师信息,项目信息,科研成果信息的添加;部门信息,教师信息的修改;部门信息的删除;部门信息的查询。未完成的功能有:教师信息,项目信息,科研成果信息的查询以及科研管理信息,教师信息,项目信息的删除。为了进一步完善科研管理系统,我决定在假期实现其他未完成的功能。

     通过对科研管理系统的设计发现这其中需要的很多知识,我们都没有接触过,上网查资料的时候发现我们课堂上学习的知识仅仅是皮毛,同时也发现有许多已经学过的东西自己都没有理解彻底,不能灵活运用于实际中,这就需要自己不断的大量实践,通过不断的自学,发现问题,思考问题,进而解决问题。在这个过程中,我深刻理解了所学的知识,同时也学到了很多实用的东西,而且激发了我对数据库设计的兴趣,在今后的时间里,我一定会多找些课题来设计相应系统来提高自己的实践能力。

     最后,感谢老师教了我很多理论知识,给了我这个课程设计的机会,让我顺利完成了这个系统的开发。但是,由于时间仓促以及本人的水平有限,本系统还有很多不完善的部分以及未完成的功能,也难免存在漏洞,恳请老师谅解。

参考文献

 <<数据库系统及应用>>    中国科学技术出版社 

  <>   清华大学出版社

附录:部分源代码

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace 科?研D管¨¹理¤¨ª系¦Ì统ª3

{

    public partial class Form添¬¨ª加¨®科?研D成¨¦果? : Form

    {

        public Form添¬¨ª加¨®科?研D成¨¦果?()

        {

            InitializeComponent();

        }

        private void button2_Click(object sender, EventArgs e)

        {

            this.Close();

            Form添¬¨ª加¨® form添¬¨ª加¨® = new Form添¬¨ª加¨®();

            form添¬¨ª加¨®.Show();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            String strConn = @"server=JOHN-PC\\SQL2005;database=design;user=sa;pwd=123";

            try

            {

                SqlConnection conn = new SqlConnection(strConn);

                conn.Open();

                String sqlInsert = "insert into 科?研D成¨¦果?表À¨ª(成¨¦果?编À¨¤号?,项?目?名?称?,类¤¨¤别Àe,级?别Àe,等̨¨级?,证¡è书º¨¦排?名?) values(" + "'" + textBox1.Text.ToString() + "','" + textBox2.Text.ToString() + "','" + textBox3.Text.ToString() + "','" + textBox4.Text.ToString() + "','" + textBox5.Text.ToString() + "','" + textBox6.Text.ToString() + "')";

                SqlCommand cmd = new SqlCommand();

                cmd.Connection = conn;

                cmd.CommandText = sqlInsert;

                cmd.ExecuteNonQuery();

                MessageBox.Show("插?入¨?成¨¦功|!ê?");

                textBox1.Text = "";

                textBox2.Text = "";

                textBox3.Text = "";

                textBox4.Text = "";

                textBox5.Text = "";

                textBox6.Text = "";

                conn.Close();

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }

    }

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace 科?研D管¨¹理¤¨ª系¦Ì统ª3

{    

    public partial class Form修T改? : Form

    {

        int flag = 0;

        public Form修T改?()

        {

            InitializeComponent();

        }

    

        private void button5_Click(object sender, EventArgs e)

        {

            String strConn = @"server=JOHN-PC\\SQL2005;database=design;user=sa;pwd=123";

            try

            {

                SqlConnection conn = new SqlConnection(strConn);

                conn.Open();

                SqlCommand Cmd = new SqlCommand();

                Cmd.Connection = conn;

                SqlDataAdapter da = new SqlDataAdapter();

                DataSet ds = new DataSet();

                SqlCommand selectCmd = new SqlCommand();

                

                if (flag == 1)

                {

                    String sql = "update 部?门?信?息¡é表À¨ª set 部?门?名?称?='"+textBox2.Text+"',负o责e人¨?='"+textBox3.Text+"',地Ì?址¡¤='"+textBox4.Text+"',邮®¨º编À¨¤='"+textBox5.Text+"',联¢a系¦Ì电Ì?话¡ã='"+textBox6.Text+"'"+"where 部?门?编À¨¤号?='"+textBox1.Text+"'";

                    Cmd.CommandText = sql;

                    int i=Cmd.ExecuteNonQuery();

                    if (i == 1)

                    {

                        MessageBox.Show("修T改?成¨¦功|!ê?");

                    }

                    else

                    {

                        MessageBox.Show("您¨²输º?入¨?的Ì?"+label1.Text+"不?存ä?在¨²,ê?请?重?新?输º?入¨?!ê?");

                    }

                    selectCmd.Connection = conn;

                    selectCmd.CommandText = "select * from 部?门?信?息¡é表À¨ª";

                    da.SelectCommand = selectCmd;

                    da.Fill(ds, "部?门?信?息¡é表À¨ª");

                    dataGridView1.DataSource = ds.Tables[0];

                }

                else if (flag == 2)

                {

                    String sql = "update 教¨¬师º|信?息¡é表À¨ª set 姓?名?='" + textBox2.Text + "',性?别Àe='" + textBox3.Text + "',民?族Á?='" + textBox4.Text + "',文?化¡¥程¨¬度¨¨='" + textBox5.Text + "',所¨´在¨²部?门?='" + textBox6.Text + "',职¡ã称?='" + textBox7.Text + "',基¨´本À?工¡è资Á¨º='" + textBox8.Text + "',岗¨²位?工¡è资Á¨º='" + textBox9.Text + "',津¨°贴¬¨´工¡è资Á¨º='" + textBox10.Text +"'"+ "where 教¨¬师º|号?='" + textBox1.Text + "'";

                    Cmd.CommandText = sql;

                    int i = Cmd.ExecuteNonQuery();

                    if (i == 1)

                    {

                        MessageBox.Show("修T改?成¨¦功|!ê?");

                    }

                    else

                    {

                        MessageBox.Show("您¨²输º?入¨?的Ì?" + label1.Text + "不?存ä?在¨²,ê?请?重?新?输º?入¨?!ê?");

                    }

                    selectCmd.Connection = conn;

                    selectCmd.CommandText = "select * from 教¨¬师º|信?息¡é表À¨ª";

                    da.SelectCommand = selectCmd;

                    da.Fill(ds, "教¨¬师º|信?息¡é表À¨ª");

                    dataGridView1.DataSource = ds.Tables[0];

                }

                conn.Close();

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            

        }

        private void button1_Click(object sender, EventArgs e)

        {

            flag = 1;

            label1.Text = "";

            label2.Text = "";

            label3.Text = "";

            label4.Text = "";

            label5.Text = "";

            label6.Text = "";

            label7.Text = "";

            label8.Text = "";

            label9.Text = "";

            label10.Text = "";

            textBox1.Text = "";

            textBox2.Text = "";

            textBox3.Text = "";

            textBox4.Text = "";

            textBox5.Text = "";

            textBox6.Text = "";

            textBox7.Text = "";

            textBox8.Text = "";

            textBox9.Text = "";

            textBox10.Text = "";

            label1.Text = "部?门?编À¨¤号?";

            label2.Text = "部?门?名?称?";

            label3.Text = "负o责e人¨?";

            label4.Text = "地Ì?址¡¤";

            label5.Text = "邮®¨º编À¨¤";

            label6.Text = "联¢a系¦Ì电Ì?话¡ã";

           

            textBox1.Visible = true;

            textBox2.Visible = true;

            textBox3.Visible = true;

            textBox4.Visible = true;

            textBox5.Visible = true;

            textBox6.Visible = true;

            textBox7.Visible = false;

            textBox8.Visible = false;

            textBox9.Visible = false;

            textBox10.Visible = false;

            String strConn = @"server=JOHN-PC\\SQL2005;database=design;user=sa;pwd=123";

            try

            {

                SqlConnection conn = new SqlConnection(strConn);

                conn.Open();

                SqlDataAdapter da = new SqlDataAdapter();

                DataSet ds = new DataSet();

                SqlCommand selectCmd = new SqlCommand();

                selectCmd.Connection = conn;

                selectCmd.CommandText = "select * from 部?门?信?息¡é表À¨ª";

                da.SelectCommand = selectCmd;

                da.Fill(ds, "部?门?信?息¡é表À¨ª");

                dataGridView1.DataSource = ds.Tables[0];

                conn.Close();

             }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

           

        }

        private void button6_Click(object sender, EventArgs e)

        {

            this.Close();

            Form増?删¦?改? form= new Form増?删¦?改?();

            form.Show();

        }

        private void button2_Click(object sender, EventArgs e)

        {

            flag = 2;

            label1.Text = "";

            label2.Text = "";

            label3.Text = "";

            label4.Text = "";

            label5.Text = "";

            label6.Text = "";

            label7.Text = "";

            label8.Text = "";

            label9.Text = "";

            label10.Text = "";

            textBox1.Text = "";

            textBox2.Text = "";

            textBox3.Text = "";

            textBox4.Text = "";

            textBox5.Text = "";

            textBox6.Text = "";

            textBox7.Text = "";

            textBox8.Text = "";

            textBox9.Text = "";

            textBox10.Text = "";

            label1.Text = "教¨¬师º|号?";

            label2.Text = "姓?名?";

            label3.Text = "性?别Àe";

            label4.Text = "民?族Á?";

            label5.Text = "文?化¡¥程¨¬度¨¨";

            label6.Text = "所¨´在¨²部?门?";

            label7.Text = "职¡ã称?";

            label8.Text = "基¨´本À?工¡è资Á¨º";

            label9.Text = "岗¨²位?工¡è资Á¨º";

            label10.Text = "津¨°贴¬¨´工¡è资Á¨º";

            textBox1.Visible = true;

            textBox2.Visible = true;

            textBox3.Visible = true;

            textBox4.Visible = true;

            textBox5.Visible = true;

            textBox6.Visible = true;

            textBox7.Visible = true;

            textBox8.Visible = true;

            textBox9.Visible = true;

            textBox10.Visible = true;

            String strConn = @"server=JOHN-PC\\SQL2005;database=design;user=sa;pwd=123";

            try

            {

                SqlConnection conn = new SqlConnection(strConn);

                conn.Open();

                SqlDataAdapter da = new SqlDataAdapter();

                DataSet ds = new DataSet();

                SqlCommand selectCmd = new SqlCommand();

                selectCmd.Connection = conn;

                selectCmd.CommandText = "select * from 教¨¬师º|信?息¡é表À¨ª";

                da.SelectCommand = selectCmd;

                da.Fill(ds, "教¨¬师º|信?息¡é表À¨ª");

                dataGridView1.DataSource = ds.Tables[0];

                conn.Close();

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }

     

    }

}

文档

科研管理系统课程设计报告

《数据库系统概论》课程设计实验报告书安徽工业大学计算机学院姓名黄飞专业网络工程班级111班学号119074292指导教师周兵分数2013年12月18日摘要本系统为科研管理系统,是基于.net的数据库管理系统。本系统采用C#编写,充分利用.Net框架的各种组件和sqlserver2005数据库管理软件,例如Button控件,label控件,Textbox控件,radiobutton控件,datagridview控件等等。本系统有登陆界面,登陆身份分为管理员和普通用户,通过管理员登陆可以实现修改,
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top