【교사 파일 관리 시스템의 설계 및 구현】상세 코드 노트

목차

1. 시스템 개요

1.1 국내외 현황 및 발전 동향    

2. 타당성 분석

2.1 문제 설명

2.2 타당성 분석 및 연구

2.3 기술적 타당성

2.4 경제성

2.5 운영 타당성

3 프로젝트 개발 계획

3.1 작성 목적

3.2 프로젝트 배경

3.3 프로젝트 개요

3.4 프로젝트 개발 계획

3.5 프로젝트 구조

4 수요 분석

4.1 작업 요구 사항 분석

4.2 기능 구조도

5 데이터베이스의 개념적 구조 설계

6 전체 디자인

6.1 엔터티에 해당하는 관계 스키마

6.2 관계 스키마 최적화 처리

6.3 데이터 테이블 설계

7. 코딩 및 구현

7.1 소스 코드의 일부

7.1.1 논문(CRUD) 데이터 액세스 계층

7.1.2 논문(비즈니스 논리 계층)

7.1.3 논문(모델 레이어)

7.2 데이터베이스 연결 코드 및 데이터 연산 코드

7.2.1 데이터베이스 연결 코드

7.2.2 데이터베이스 코드

7.3 시스템 구현 인터페이스

8.1 개발 환경

소스 코드:

위에 주어진 코드는 불완전합니다 

Github 주소: https://github.com/xiekangssq/local.git\n

필요한 사항이 있으시면 개인적으로 Penguin 1833226220에 연락하실 수 있습니다.

또는 블로그 자원이


1. 시스템 개요

1.1 국내외 현황 및 발전 동향    

  현재 IT 기술의 지속적인 혁신과 발전으로 새로운 기술이 끊임없이 도입되고 다양한 정보 기반 솔루션이 끊임없이 성숙하고 있습니다. 객체 지향 프로그래밍 언어의 광범위한 사용, 다양한 성숙한 관계형 데이터베이스의 지속적인 개선 및 도입, 객체 지향 소프트웨어 개발 프로세스의 광범위한 적용으로 인해 소프트웨어 개발 프로세스가 더 쉬워지고 개발된 시스템이 점점 더 많아지고 있습니다. 실용적일수록 많은 기업이 정보 시스템을 사용한 후 작업 효율성을 크게 향상시키고 막대한 경제적 수입을 얻었습니다.
인터넷의 보급과 교육 모델 개혁의 필요성으로 인해 교육 모델은 점점 더 온라인 교육 방향으로 기울어 져야합니다. 즉, 거의 모든 교육 콘텐츠를 온라인으로 완료 할 수 있습니다. 우리나라의 현재 컴퓨터 기술의 발전으로 볼 때 우리나라의 소프트웨어 기술, 네트워크 시설 및 보안 조치의 발전은 네트워크 교육 모델의 요구 사항을 충족할 가능성이 높습니다. 따라서 온라인 교육의 완전한 실현은 필연적으로 기존의 전통적인 교수 방식을 바꿀 것이며 교사와 교사의 작업 습관과 작업 방식이 새로운 환경에 적응하고 적응하는 데 오랜 시간이 걸릴 것입니다. 네트워크 교육 패턴의 완전한 실현은 여전히 ​​필수적입니다.

2. 타당성 분석

2.1 문제 설명

  학교 규모의 지속적인 확장으로 전공, 반, 교원의 수가 급격히 증가하고 교원의 수도 증가하여 교원에 대한 정보량도 2배가 되었다. 많은 대학에서 여전히 복잡한 수동 조작 측면에서 많은 반복 작업, 무거운 작업 부하 및 낮은 효율성이 있습니다.따라서 이 설계는 교사가 일련의 컴퓨터 "교사 파일 관리 시스템" 을 설계하여 정보의 개방성과 학교 지도자와 교사를 크게 향상시키고 정보 조회의 정확성을 향상시켜 관리 수준과 업무 효율성을 향상시킵니다.

2.2 타당성 분석 및 연구

  소프트웨어 개발 과제를 수락하면 소프트웨어 수명의 첫 번째 단계, 즉 타당성 조사를 수행합니다. 모든 문제에 간단한 해결책이 있는 것은 아니며 많은 문제가 의도한 규모 내에서 해결될 수 없습니다. 따라서 타당성 조사 분석을 통해 문제점을 알 수 있다.

  인력, 물적 자원 및 재능의 낭비를 피하기 위해 실현 가능한 해결책이 있습니까? 현 제도에 대한 사전 조사를 바탕으로 신 제도의 목표, 즉 제도 개발 및 평가의 기준이 되는 신 제도 구축 후 달성해야 할 운영지표를 제시할 수 있다. . 시스템의 목표는 완전히 반영되어야 하며 교사 파일 관리 시스템에 직접 서비스를 제공해야 하며 프로그램은 단계적으로 및 일괄적으로 실현될 수 있습니다. 다만 전반적인 기획 단계에서 시스템 목표를 아주 구체적으로 언급하는 것은 불가능하며, 개발 과정에서 점차 명확해지고 정량화될 것이라는 점을 지적해야 한다. 보다 우수한 프로그램 시스템을 달성하기 위해. 그러나 목표 공식은 동일하지 않습니다. 예를 들면 다음과 같습니다.

1) 교사 파일 관리의 효율성을 높이고 노동 강도를 줄입니다.

2) 정보 처리의 속도와 정확성을 향상시킵니다.

3) 관리자에게 보다 편리하고 과학적인 서비스 항목을 제공합니다.

2.3 기술적 타당성

  기술 타당성 분석은 주로 기존 기술 조건이 개발 작업을 성공적으로 완료할 수 있는지 여부, 하드웨어 및 소프트웨어 구성이 개발자의 요구를 충족시킬 수 있는지 여부 등을 분석합니다. 현재 학교의 모든 작업 지점은 PC를 작업대로 사용하며 용량과 속도는 시스템 요구 사항을 충족할 수 있습니다.

  고객이 제안한 시스템의 시스템 기능, 성능 및 각종 제약조건에 따라 요구되는 기술의 가용 여부를 측정하는 새로운 시스템의 목표에 따라 본 시스템은 데이터베이스 관리 및 쿼리 시스템으로 기존 기술은 상대적으로 성숙하고 하드웨어, 소프트웨어 성능 요구 사항, 환경 조건 및 기타 조건이 양호하며 기존 기술 조건을 사용하여 시스템의 기능 목표를 충분히 달성할 수 있다고 추정됩니다. 동시에 주어진 개발 기간은 상대적으로 충분하다고 판단되며, 정해진 기간 내에 시스템 개발이 가능할 것으로 예상된다.

2.4 경제성

주로 교원용 파일관리시스템 개발에 따른 경제적 편익을 평가하는 것으로 한편으로는 장비구입비, 소프트웨어 개발비, 관리유지비, 인건비, 연수비 등 개발에 소요되는 비용을 추정하는 것이다. , 등. 한편, 교사 파일 관리 소프트웨어의 가능한 이점 중 돈으로 측정할 수 있는 부분을 추정하는 것이다. 그리고 소프트웨어가 큰 판매 시장과 상당한 사용자 기반을 가지고 있는지 현재 소프트웨어 시장을 조사하십시오. 소프트웨어 개발 비용과 고객이 제시한 요구 사항이 양 당사자의 만족을 충족시킬 수 있는지 여부. 또한 시스템 개발이 다른 제품이나 수익에 일정한 영향을 미칠지 분석하십시오. 위의 측면을 조사 분석한 결과 교사 파일 관리 소프트웨어가 매우 유용하고 인건비가 절감된다는 결론을 내렸습니다. 경제적인 관점에서 교사 파일 관리를 개발하는 것이 타당합니다.

2.5 운영 타당성

주로 교사 파일 관리 관련 인력이 정보 시스템 개발을 지원하는지, 기존 교사 파일 관리 시스템 및 방법이 과학적인지, 규칙 및 규정이 완전한지, 원본 데이터가 올바른지 등을 이해하는 것입니다. . 교원 기록물 관리 담당자는 시스템 개발을 적극적으로 지원하여 새로운 시스템이 제 역할을 다할 수 있도록 시스템 운영이 쉽고 이해하기 쉬우며 운영자는 단기간 교육 후 교원 기록물 관리 시스템을 사용할 수 있습니다. .

3 프로젝트 개발 계획

3.1 작성 목적

프로젝트의 타당성 분석 후 프로젝트가 더 진행될 수 있다는 결론을 내리고 소프트웨어가 계속해서 개발되기 전에 소프트웨어 프로젝트 계획이 먼저 제공됩니다.

3.2 프로젝트 배경

프로젝트 분석가가 제공한 프로젝트 타당성 분석 보고서를 받은 후 프로젝트 분석 부서는 시스템의 단일성, 즉 교사의 개발을 담당하는 부서에서 소프트웨어의 실제 개발을 위한 소프트웨어 프로젝트 계획을 수립합니다. 소프트웨어 개발 단위가 소프트웨어 개발 요구 사항을 이해하고 개발할 수 있도록 파일 관리 시스템.

3.3 프로젝트 개요

1. 작업 내용

컴퓨터가 교사의 파일을 자동으로 관리하도록 하고 사용자는 컴퓨터에서 교사의 파일 정보 관리를 직접 실현할 수 있으며 어느 정도 자동화를 실현할 수 있습니다.

2. 조건 및 제한 사항

이 소프트웨어를 개발하는 조건은 비교적 간단하며 개발 단위의 현재 경제 및 기술 조건은 개발 조건을 완전히 충족합니다. 시스템은 사용자가 요구하는 기한 내에 완료될 수 있습니다.

3. 제품

1) 프로그램

이 프로젝트의 짧은 개발 시간으로 인해 여기에는 디자인 아이디어만 제공되며 구체적인 프로그램은 작성되지 않습니다.

2), 서류

설명서 내용에는 다음이 포함됩니다.

  1. 표지

(2) 디렉토리

(3) 약 100 단어의 중국어 초록, 3-5 키워드

(4) 시스템 개요

(5) 프로젝트 개발 계획

(6) 요구 사항 분석(요구 시스템 흐름도, 데이터 흐름도, 데이터 사전, ER 다이어그램 포함)

(7) 데이터베이스 개념 구조 설계(전체 소프트웨어 구조도, 전체 데이터 구조 포함)

(8) 데이터베이스 논리적 구조 설계(개요 설계 내용의 상세 설계)

(9) 시스템 구현

4. 합격기준

소프트웨어의 승인 기준은 사용자가 제시한 소프트웨어 요구 사항에 의해 완전히 공식화되어 소프트웨어가 기본적으로 사용자 요구 사항을 충족하는지 확인할 수 있습니다.

3.4 프로젝트 개발 계획

1. 작업 분해

개발은 크게 3단계로 나누어지며, 첫 번째 단계는 시스템의 데이터 흐름도와 ER 다이어그램을 완성하는 단계이다. 2단계에서는 외형설계와 상세설계가 완료된다. 세 번째 단계는 문서 작성입니다.

2. 예산

소프트웨어 자본 투자가 적고 특정 예산 할당이 간단합니다.

3. 주요 이슈

각 모듈 간의 연결 및 백그라운드 데이터베이스 완성. 이 시스템은 현재 장비와 기존 개발 기술을 사용하여 완전히 개발할 수 있으며 일반적으로 프로젝트에 큰 기술적 어려움과 기타 위험 요소가 없습니다. 발생하는 작은 어려움에 대해서는 항상 해결할 수 있습니다.

3.5 프로젝트 구조

MVC와 결합된 3개 레이어 사용 1.ui(사용자 인터페이스 레이어 myweb) 2.YF123(DAL 레이어 데이터 레이어) 3.YF456(BLL 레이어 비즈니스 레이어) 4, YFModel(엔티티 레이어)

YFbangzhu 클래스 A JsHelper 클래스(클라이언트 출력 스크립트) 다른 MsSqlHelper(데이터베이스 도우미 클래스)

그림 3.1 프로젝트 구조 

4 수요 분석

4.1 작업 요구 사항 분석

시스템은 주로 시스템 로그인 모듈, 교사 기본 정보 모듈, 코스 기본 정보 모듈 및 논문 입력 모듈을 포함합니다.

시스템은 기본 정보 입력, 수정, 쿼리 및 기타 기능을 실현해야 합니다.

1) 정보입력, 교원기본정보, 수강정보, 논문입력 등

2) 정보 수정 및 삭제.

3) 요구 사항에 따라 조건을 충족하는 모든 종류의 정보를 쿼리하고 계산합니다.

4) 실제 필요에 따라 중요한 새로운 정보에 대한 통계를 작성하십시오.

4.2 기능 구조도

그림 4-1 기능 구조도

5 데이터베이스의 개념적 구조 설계

  개념적 구조 설계는 전체 데이터베이스 설계의 핵심으로, 사용자 요구 사항을 종합, 요약 및 추상화하여 특정 DBMS와 독립적인 개념적 모델을 형성합니다.

교사 정보 관리 데이터베이스의 설계 요구 사항에 따라 교사, 교사, 코스 및 등급의 네 가지 엔티티가 추상화되고 네 가지 엔티티가 단순화되며 기본적으로 한 코스는 한 명의 교사만 가르칩니다.

(1) 학과에는 여러 명의 교사가 있고, 교사는 하나의 학과에만 속하므로 학과와 교사 사이에는 일대다(1:n) 관계가 있습니다.

(2) 한 명의 교사가 여러 과목을 수강할 수 있고 한 과목은 많은 교사가 수강하므로 교사와 과목 사이에는 다대다(m:n) 관계가 있습니다.

(3) 교사는 여러 등급(특히 교사 코스의 등급 참조)을 가지며 한 등급은 한 명의 교사만 소유하므로 교사와 등급의 관계는 일대다(1:n)입니다.

(4) 학과에 여러 과목이 있고, 과목은 하나의 학과에만 속하므로 학과와 과목의 관계는 일대다(1:n) 관계이다.

(5) 코스에는 여러 등급이 있으며 하나의 등급은 하나의 코스에서만 소유하므로 코스와 등급의 관계는 일대다(1:n) 관계입니다.

글로벌 ER 다이어그램은 그림 5.1에 나와 있습니다.

그림 5.1 글로벌 ER 다이어그램

6 전체 디자인

6.1 엔터티에 해당하는 관계 모델

교사(Id,TNum,TPassWord,TName,TSex,TTel,TEmail,TAddress,TDepart,TRemark,TSuShe)

점수(Id,Subjectld,TNum,XueNian,TScore)

TdentAp(TNum,TName,TJi,TYuanyin)

Tdent123(TNum,TName,TByqk,Tqx,TBydapjd,TByhkpjd)

6.2 관계 스키마 최적화 처리

데이터 종속성에 따라 관계형 스키마를 하나씩 분석하고 최소화 처리를 수행합니다.

Tdent(ID,TNum,TPassWord,TName,TSex,TTel,TEmail,TAddress,TDepart,TRemark,TSuShe)

점수(Id,Subjectld,TNum,XueNian,TScore)

출발(Id,DepartName)

제목(ID, 제목)

SysLodin(ID, SysName, SysPassWord)

TdentAp(TNum,TName,TJi,TYuanyin)

Tdent123(TNum,TName,TByqk,Tqx,TBydapjd,TByhkpjd)

6.3 데이터 테이블 설계

표 6-1 TB교사 기본정보

열 이름

데이터 유형

비워도 되나요

소개

ID

정수

NULL이 아님

교사 일련 번호

TNum

바르샤르(50)

NULL이 아님

기본 키, 작업 번호

TPassWord

바르샤르(50)

없는

로그인 비밀번호

T이름

바르샤르(50)

없는

이름

TSex

바르샤르(50)

없는

성별

전화

바르샤르(50)

없는

전화

TE메일

바르샤르(50)

없는

우편

T주소

바르샤르(50)

없는

집 주소

티디파트

정수

없는

부서

T비고

바르샤르(100)

없는

전문적 지식

TSuShe

VarChar(100

없는

기숙사 번호

표 6-2 tb_과목과목 정보표

열 이름

데이터 유형

비워도 되나요

소개

ID

정수

없는

일련 번호

케이씨엠

바르차르(50)

NULL이 아님

코스명

T이름

바르차르(50)

NULL이 아님

강사

Xz

바르차르(50)

NULL이 아님

코스 자연

비엠

바르차르(50)

없는

클래스 이름

날짜 추가

바르차르(50)

NULL이 아님

시간을 더하다

Cz

바르차르(50)

NULL이 아님

작동하다

표 6-3 tb_SysLogin 프로젝트 정보 테이블

열 이름

데이터 유형

비워도 되나요

소개

ID

정수

없는

일련 번호

XMM

바르차르(50)

NULL이 아님

상품명

JFS

바르차르(50)

NULL이 아님

펀딩

ILO

바르차르(50)

NULL이 아님

프로젝트 맵

에스엠

바르차르(50)

NULL이 아님

설명하다

TJSJ

바르차르(50)

NULL이 아님

시간을 더하다

WCFS

바르차르(50)

NULL이 아님

완료 방법

CZ

바르차르(50)

NULL이 아님

작동하다

7. 코딩 및 구현

7.1 소스 코드의 일부

7.1.1 논문(CRUD) 데이터 액세스 계층

// 引入命名空间
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;

// 命名空间
namespace YF123
{
    /// <summary>
    /// 论文数据层
    /// </summary>
    public class Lunwen
    {
        /// <summary>
        /// 添加论文
        /// </summary>
        /// <param name="lunwen">论文实体类</param>
        /// <returns>添加成功返回true,否则返回false</returns>
        public static bool add(YF.Model.Lunwen lunwen)
        {
            // 定义一个bool类型的变量rest,初始值为false
            bool rest = false;
            // 定义一个字符串类型的变量sqls,存储SQL语句
            string sqls = "insert into t_lunwen (question,more,name,fenlei,adddate) values('" + lunwen.Question + "','" + lunwen.More + "','" + lunwen.Name + "'," + lunwen.Fenlei + ",'" + lunwen.Adddate + "')";
            // 调用YFMsSqlHelper类的ExecuteSql方法执行SQL语句,返回受影响的行数
            int i = YF.MsSqlHelper.YFMsSqlHelper.ExecuteSql(sqls);
            // 如果受影响的行数大于0,则将rest的值设为true
            if (i > 0)
            {
                rest = true;
            }
            // 返回rest的值
            return rest;
        }

        /// <summary>
        /// 获取论文列表
        /// </summary>
        /// <returns>返回论文列表</returns>
        public static List<YF.Model.Lunwen> List()
        {
            // 先拿一个sql语句
            string strsql = "select * from t_lunwen order by id desc";
            // 返回一张表
            DataTable dt = YF.MsSqlHelper.YFMsSqlHelper.Query(strsql).Tables[0];
            // 然后再把datatable转换为list
            return DttoList(dt);
        }

        /// <summary>
        /// 将DataTable转换为List
        /// </summary>
        /// <param name="dt">DataTable</param>
        /// <returns>返回List</returns>
        private static List<YF.Model.Lunwen> DttoList(DataTable dt)
        {
            // 先声明一个空的list
            List<YF.Model.Lunwen> list = new List<YF.Model.Lunwen>();
            // 把databale循环遍历转换为list进而展示给前台
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                // 生命一个空老师然后追加到list中
                YF.Model.Lunwen ti = new YF.Model.Lunwen();
                // dt是一个表,把每一列数据赋值进行循环,赋值入list.Add(st);
                ti.Id = int.Parse(dt.Rows[i]["id"].ToString());
                ti.Question = dt.Rows[i]["question"].ToString();
                ti.More = dt.Rows[i]["more"].ToString();
                ti.Name = dt.Rows[i]["name"].ToString();
                ti.Fenlei = int.Parse(dt.Rows[i]["fenlei"].ToString());
                ti.Adddate = DateTime.Parse(dt.Rows[i]["adddate"].ToString());
                // 将datatable中数据追加到list中
                list.Add(ti);
            }
            // 返回出去给到model层,然后模型层又给到ui层最后展示出来
            return list;
        }

        /// <summary>
        /// 删除论文
        /// </summary>
        /// <param name="id">论文ID</param>
        /// <returns>删除成功返回true,否则返回false</returns>
        public static bool del(int id)
        {
            bool rest = false;
            string sqlstr = "delete from t_lunwen where Id=" + id + "";
            int i = YF.MsSqlHelper.YFMsSqlHelper.ExecuteSql(sqlstr);
            if (i > 0)
            {
                rest = true;
            }
            return rest;
        }
    }
}

7.1.2 논문(비즈니스 논리 계층)

// 引入命名空间
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// 业务类
namespace YF456
{
    /// <summary>
    /// 论文业务类
    /// </summary>
    public class Lunwen
    {
        /// <summary>
        /// 添加论文
        /// </summary>
        /// <param name="lunwen">论文实体类</param>
        /// <returns>添加成功返回true,否则返回false</returns>
        public static bool add(YF.Model.Lunwen lunwen)
        {
            // 调用YF123.Lunwen类的add方法添加论文
            return YF123.Lunwen.add(lunwen);
        }

        /// <summary>
        /// 获取论文列表
        /// </summary>
        /// <returns>返回论文列表</returns>
        public static List<YF.Model.Lunwen> List()
        {
            // 调用YF123.Lunwen类的List方法获取论文列表
            return YF123.Lunwen.List();
        }

        /// <summary>
        /// 删除论文
        /// </summary>
        /// <param name="id">论文ID</param>
        /// <returns>删除成功返回true,否则返回false</returns>
        public static bool del(int id)
        {
            // 调用YF123.Lunwen类的del方法删除论文
            return YF123.Lunwen.del(id);
        }
    }
}

7.1.3 논문(모델 레이어)

7.2 데이터베이스 연결 코드 및 데이터 연산 코드

7.2.1 데이터베이스 연결 코드

<?xml version="1.0"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Tdio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
	
    教师信息管理系统
    @File name:教师管理
    @Author:猪小温
    @Backend Development:猪小温
    @Front-end Development:猪小温
    @Database Design:猪小温
-->
<configuration>
	<appSettings/> <!-- 应用程序设置 -->
	<connectionStrings>
		<!--
		    数据库连接字符
		-->
		<add name="DB" connectionString="server=DESKTOP-8E7I217\SQLEXPRESS;database=OnlineTdent;Integrated security = true;"/> <!-- 数据库连接字符串 -->
	</connectionStrings>
	<system.web>
		<!-- 
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
		<compilation debug="true" targetFramework="4.0"/> <!-- 编译选项 -->
		<!--
            通过 <authentication> 节可以配置 ASP.NET 使用的 
            安全身份验证模式,
            以标识传入的用户。 
        -->
		<authentication mode="Windows"/> <!-- 身份验证模式 -->
		<!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
		<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> <!-- 页面设置 -->
	</system.web>
</configuration>

7.2.2 데이터베이스 코드

CREATE TABLE [dbo].[tb_SysLogin](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[SysName] [varchar](50) NULL,
	[SysPassWord] [varchar](50) NULL,
 CONSTRAINT [PK_tb_SysLogin] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_SysLogin] ON
INSERT [dbo].[tb_SysLogin] ([id], [SysName], [SysPassWord]) VALUES (1, N'admin', N'admin')
SET IDENTITY_INSERT [dbo].[tb_SysLogin] OFF
/****** Object:  Table [dbo].[tb_SubjectInfo]    Script Date:12/12021 09:30:56 小康康 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_SubjectInfo](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[SubjectName] [varchar](50) NULL,
 CONSTRAINT [PK_tb_SubjectInfo] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_SubjectInfo] ON
/****** Object:  Table [dbo].[tb_TdentInfo]    Script Date: 12/1/2021  小康康 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_TdentInfo](
	[id] [int] IDENTITY(19731126,1) NOT NULL,
	[TNum] [varchar](50) NULL,
	[TPassWord] [varchar](50) NULL,
	[TName] [varchar](50) NULL,
	[TSex] [varchar](50) NULL,
	[TTel] [varchar](50) NULL,
	[TEmail] [varchar](50) NULL,
	[TAddress] [varchar](50) NULL,
	[TDepart] [int] NULL,
	[TRemark] [varchar](100) NULL,
	[TSuShe] [varchar](100) NULL,
 CONSTRAINT [PK_tb_TdentInfo] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_TdentInfo] ON
SET IDENTITY_INSERT [dbo].[tb_TdentInfo] OFF
/****** Object:  Table [dbo].[tb_Score]    Script Date: 12/1/2021 09:30:56 小康康 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_Score](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[subjectId] [int] NULL,
	[TNum] [varchar](50) NULL,
	[XueNian] [varchar](50) NULL,
	[TScore] [decimal](18, 2) NULL,
 CONSTRAINT [PK_tb_Score] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_Score] ON
SET IDENTITY_INSERT [dbo].[tb_Score] OFF
CREATE TABLE [dbo].[tb_Tdent123](
 [TNum] [varchar](50) NOT NULL,
 [TName] [varchar](50) NOT NULL,
 [TByqk] [varchar](50) NOT NULL,
 [TByqx] [varchar](50) NOT NULL,
 [TBydapjd] [varchar](50) NOT NULL,
 [TByhkpjd] [varchar](50) NOT NULL
) ON [PRIMARY]
GO

/****** Object:  Table [dbo].[tb_TdentAp]    Script Date: 2021/12/23 20:48:14 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[tb_TdentAp](
	[TNum] [varchar](50) NOT NULL,
	[TName] [varchar](50) NOT NULL,
	[TJj] [varchar](6) NOT NULL,
	[TYuanyin] [varchar](50) NOT NULL
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[tb_Depart]    Script Date: 06/19/2020 09:30:56  小康康******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_Depart](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[DepartName] [varchar](50) NULL,
 CONSTRAINT [PK_tb_Depart] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_Depart] ON
SET IDENTITY_INSERT [dbo].[tb_Depart] OFF


数据操作代码:将数(CRUD)封装为DBHelper类
using System;
using System.Data;//DataSet数据库命名空间
using System.Data.SqlClient;//.NET数据提供程序数据库命名空
using System.Configuration;//数据库连接字符串写在配置文件时要写入这个
/**********************************************
*************教师信息管理系统*******************
***********************************************
*                                              *
*        @File name:教师管理                   *
*                                              *
*		@Author:谢康                       *
*						                     * 
*		@Backend Development:谢康            * 
*						                      *
*		@Front-end Development: 谢康           *
*                                              *
*       @Database Design:谢康                 *
**********************************************/
/// <summary>
/// DBHelper 的摘要说明
/// </summary>

#region 5大对象
//ADO.NET组件,建立c#和sql sever之间的纽带
//ADO.NET=.NET数据提供程序+DdtaSet
//1.Connection:负责APP与DB之间的联系;
//2.Command:负责执行SQL命令 增删改
//3.DateReader:负责读取查询结果(Select语句)查
//4.DataAdapter:数据适配器(牵线搭桥)
//5.DataSet:内存中的数据库

#endregion

public class  DBHelper
{
    #region 连接数据库
    public DBHelper()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}
		/// <summary>
		/// 获得数据库连接字符串
		/// </summary>
		/// <returns></returns>
		public static string GetConnStr()
		{
			return ConfigurationManager.ConnectionStrings["DB"].ConnectionString;
		}
    #endregion
    #region 查询
    /// <summary>
    /// 由sql变量(select语句)得到DataSet学期查询记录集合
    /// </summary>
    /// <param name="sql">select语句,字符串学期</param>
    /// <returns></returns>
    public static DataSet GetDataSet(string sql)
		{
			SqlConnection conn = new SqlConnection(GetConnStr());
			conn.Open();
			SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
			DataSet ds = new DataSet();
			sda.Fill(ds);
			conn.Close();
			return ds;
		}
    #endregion
    #region 增加,删除,更改
    /// <summary>
    /// 执行sql语句,主要是insert、update、delete语句
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public static Boolean ExecSql(string sql)
		{
			SqlConnection conn = new SqlConnection(GetConnStr());
			conn.Open();
			SqlCommand cmd = new SqlCommand(sql, conn);
			try
			{
				cmd.ExecuteNonQuery();
				conn.Close();
			}
			catch (Exception ex)
			{
				conn.Close();
				return false;
			}
			return true;
		}

	}
#endregion
 

7.3 시스템 구현 인터페이스

기능 모듈:

(4) 교사 정보 추가

그림 7.4 교사 정보 추가

(5) 교사 정보 목록

그림 7.5 교사 정보 목록

(6) 코스 정보 추가

그림 7.6 코스 정보 추가

(7) 코스 정보 목록

그림 7.7 코스 정보 목록

(8) 아이템 추가

그림 7.8 항목 추가

(9) 프로젝트 정보 목록

그림 7.9 프로젝트 정보 목록

(10) 종이 항목

그림 7.10 용지 입력

(11) 논문 목록

① Rich Text를 이용한 논문 추가

서식 있는 텍스트를 통해 논문 추가

그림 7.11 서식 있는 텍스트를 사용하여 문서 추가

②ASP 제어를 채택하기 위해 프로젝트 맵 추가

논문 목록에서 내용의 하이퍼링크를 통해 논문을 바로 볼 수 있습니다.

그림 7.12 프로젝트 맵 추가 및 종이 보기

8.1 개발 환경

(1) 시스템 구조 : B/S(브라우저/서버)

(2) 시스템 구현 개발 기술: asp.net, 3계층 프레임워크(MVC와 결합)

(3) 개발 언어: C#, html, css
(4 데이터베이스 SQL Server 2019
(5) 개발 플랫폼 vs2019



추천

출처blog.csdn.net/xkk123_/article/details/130515189