基于C#+SqlServer开发(WinForm)学生宿舍管理系统【100010056】

news2024/10/6 22:24:46

学生宿舍管理系统

一、前言

学生宿合是学生们最为熟悉的领域,假定学校有若干栋宿会楼,每栋宿合楼有若干层,每层有若干个寝室,每个寝室可住若干个学生。以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效率,利用计算机进行信息处理成为必然.开发功能完善及安全可靠的管理系统可以大大提高学校资源的利用率,及时,准确地获取需要的信息,充分发挥人员的工作潜力。学生宿合管理系统可对学校的学生宿舍进行规范化管理以及实现学生基本信息和外来人员信息的录入,查询,更新与修改。

二、系统设计

2.1 系统功能分析

本系统是参照我们学校的实际情况而设计的一套针对性和功能都比较强的宿舍管理系统.本宿舍管理系统可实现学生基本信息、宿舍信息等的录入、修改、查询、更新和删除操作以及外来人员的登记查询更新等操作。

2.2 系统功能模块设计

系统操作

<1>修改密码
<2>关闭系统

连接操作

<1>测试数据库连接
<2>数据库登录

查询操作

<1>范围查询
<2>精确查询

宿舍管理操作

<1>增加学生信息
<2>删除学生信息
<3>更改学生信息

出入登记操作

<1>入登记
<2>出登记
<3>查看登记表
<4>登记表备份

帮助操作

<1>查看帮助文件
<2>关于

三、数据库设计

3.1 需求分析

需求详述

新的一个学期开始之后,学校教工人员可以添加新的学生宿舍信息,比如宿舍楼、宿舍号等;如果中途有新转来或转走或退学的学生,也可以修改学生宿舍信息;学生毕业之后,学校教工人员可以删除该学生的所有信息。

  • 系统能够对宿舍、学生、住宿信息进行登记和调整,并能够随时进行各种查询和统计等处理操作
  • 系统运行在 Windows 平台上,要求有一个较好的图形用户界面,操作要求简单。
  • 系统应该有很好的可扩展性,以便学校根据实际情况添加新的功能
  • 功能需求
  • 本学生宿舍管理系统需要完成的功能有用户管理、学生宿舍管理两个部分。

用户管理 该功能用于管理使用该系统的用户,以及模块按权限进行分配,从而为系统提供一定的安全性。使用这个系统的用户主要包括 2 种:一是系统管理员,拥有对用户和表的所有权限;一是教务人员,可以对学生住宿情况进行管理,主要是增、删、改和查询信息;系统管理员也可以修改其余用户密码。

学生宿舍管理 添加、修改、删除和查询学生宿舍信息:根据院系和年纪进行寝室分配,实现入住学生信息的登记、维护和查询功能,按学院名称、学生号等信息查询住宿信息,对学生或外来人员进出公寓的情况进行登记,实现基本的出入监控功能。

数据需求

通过分析,总结出本系统对数据的需求如下:

  • 外来人员(身份证号,姓名,性别)
  • 宿舍楼(编号,楼层数,床位数,单价)
  • 学生(学号,姓名,性别,出生日,电话)
  • 学院(学院编号,学院名称)
  • 进入(目的,进入时间,离开时间)
  • 住宿(宿舍楼号码,宿舍号,床位号,是否缴费)
  • 属于(所在学院,所在班级)

3.2 概念结构设计

概念模型

概念结构设计就是从现实概念中抽象出概念模型,即对信息世界建模,所以概念模型应该能方便、准确的表示信息世界中的常用概念。概念模型的表示方法最著名的实体-联系方法,在该方法中实体型用矩形表示,矩形框内写明实体名;属性用椭圆表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁表上联系的类型(1:1,1:n 或 n:m)。

-R 图表示概念模型

学生实体 E-R 图

学院实体

宿舍楼实体

外来人员实体

合并分 E-R 图

-R 图向关系模型转换

在二元联系中,数据模型实体间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)三种。

两实体的联系为 1:1,可将联系与任意一端对应的关系模式合并。具体做法是:将两个实体各用一个关系表示,然后将其中一个关系的关键字和联系的属性加入另一个关系的属性。一个关系的关键字存储在另一个关系中时,称为另一个关系的外键。

一个 1:n 联系可以与“1”端对应的关系模式合并。首先,一个实体用 1 个关系表示,然后将联系的属性和“n”端对应关系的键置于“1”端对应的关系中。

一个 m:n 转换为一个关系模式。多对多联系不能与任一端实体对应的关系模式合并,否则会引起插入异常和修改异常。联系本身的属性以及与该联系相连的实体的键都将转换为该关系的属性,关系的键是各实体键的组合。

  • 根据以上转化原则,得到以下一组关系模式
  • 学生(学号,姓名,性别,出生日期,学院号,班级号,电话,宿舍楼号,宿舍号,床位号,是否缴费)
  • 外来人员(身份证号,姓名,性别,目的,进入时间,离开时间)
  • 宿舍楼(编号,楼层数,床位数,单价)。

3.3 逻辑结构设计

根据对需求分析得到的数据结构进行分析,按数据输入输出的要求,确定表和表间的关系,并验证、调整、修改、完善,使其能够实现用户对数据和功能的要求。本系统根据分析确定系统要设置如下:(数据库里存储中文列名的首个字母:如学号—xh)

学生基本表:(学号 char(12),姓名 varchar(8),性别 char(2) check(xb in(‘男’,‘女’))),出生日期 date,学院号 char(2),班级号 char(2),电话 char(11),宿舍楼号 char(2),宿舍号 char(3),床位号 char(1)(只能为 1,2,3,4),是否缴费 char(2) check(sfjf in(‘是’,‘否’)))。学号为主键,为学院号建立索引,通过该索引和学院基本表建立关联。

宿舍楼基本表:(编号 char(2),楼层数 char(2),床位数 char(4),单价 varchar(4))。其中编号为主键。

学院基本表:(学院编号 char(2),学院名称 varchar(30))。其中学院编号为主键,为学院编号建立索引,通过学院编号和学生基本表建立关联。

外来人员基本表:(身份证号 char(18),姓名 varchar(8),性别 char(2) check(xb in(‘男’,‘女’)),目的 varchar(40),进入时间 Datetime,离开时间 Datetime)。其中身份证号为主键。

3.4 物理结构设计

学生基本表

字段名类型宽度是否必填中文别名
XhChar12Yes学号
XmvarcharMax=12No姓名
XbChar2(男 or 女)No性别
CsrqDateNo出生日期
XyhChar2No学员号
BjhChar2No班级号
DhChar11No电话
SslhChar2No宿舍楼号
SSHChar3No宿舍号
CwhChar1(1or2or3or4)No床位号
SfjfChar2(是 or 否)no是否缴费

学院基本表

字段名类型宽度是否必填中文别名
XybhChar2Yes学院编号
XymcVarchar30No学院名称

宿舍楼基本表

字段名类型宽度是否必填中文别名
BhChar2Yes编号
LcsChar2No楼层数
CwsChar4No床位数
DjVarchar4No单价

外来人员基本表

字段名类型宽度是否必填中文别名
SfzhChar18Yes身份证号
XmVarchar8No姓名
XbChar2(男 or 女)No性别
MdVarchar40No目的
JrsjDatetimeNo进入时间
LksjDatetimeNo‘’离开时间

四、数据库实现

建立学生表

建立学院表

建立宿舍楼表

建立外来人员表

五、系统实现

主界面

用于计时器启动

private void frm1_Load(object sender, EventArgs e)
{
    timer1.Start();
}

计时器内容

private void timer1_Tick(object sender, EventArgs e)
{
    lab5.Text = DateTime.Now.AddSeconds(0).ToString("yyyy年MM月dd日 dddd tt hh:mm:ss");
}

登录界面

登录按钮所用代码

private void btn1_Click(object sender, EventArgs e)
{
    string x = txt1.Text;
    string y = txt2.Text;
    try
    {
        string constr = "server=localhost;database=huyuk;uid='" + x + "';pwd='" + y + "';";
        SqlConnection conn = new SqlConnection(constr);
        conn.Open();
        MessageBox.Show("登录成功。可以进行进一步操作。", "登录结果");
    }
    catch
    {
        MessageBox.Show("登录失败,请检查用户名密码是否正确。", "登录结果");
    }
}

范围查询界面

范围查询所用代码

private void frm3_Load(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123";
    conn.Open();
    SqlCommand com = new SqlCommand();
    com.Connection = conn;
    com.CommandText = "select xymc from xy";
    SqlDataReader dr;
    dr = com.ExecuteReader();
    cbx1.Items.Clear();
    while (dr.Read())
    {
        cbx1.Items.Add(dr[0].ToString());
    }
    dr.Close();
    conn.Close();
}//用于填充学院下拉框

单击查询按钮所用代码

private void btn1_Click(object sender, EventArgs e)
{
    conn.Open();
    try
    {
        string str = "select * from xs,xy where xs.xyh=xy.xybh ";
        if (txt1.Text.Trim().Length > 0)
        {
            str += "and xm='" + txt1.Text + "'";
        }
        if (cbx1.Text.Trim().Length > 0)
        {
            str += "and xymc='" + cbx1.Text + "'";
        }
        SqlCommand comm = new SqlCommand(str, conn);
        comm.ExecuteNonQuery();
        SqlDataAdapter sd = new SqlDataAdapter(comm);
        DataSet ds = new DataSet();
        sd.Fill(ds);
        lvw1.DataSource = ds.Tables[0];
    }
    catch (SqlException err)
    {
        label1.Text = "无法读取数据";
    }
    finally
    {
        conn.Close();
    }
}

精确查询界面

单击查询按钮所用代码

private void btn1_Click(object sender, EventArgs e)
{
    sconn.Open();
    SqlDataAdapter sda = new SqlDataAdapter("select * from xs where xh='" + txt1.Text + "'", sconn);
    DataSet clnnum = new DataSet();
    sda.Fill(clnnum, "xs");
    this.dataGridView1.DataSource = clnnum;
    this.dataGridView1.DataMember = "xs";
    sconn.Close();
}//查询出信息并填入下方gridview

增加学生信息界面

载入时查询学院填入下拉框

private void frm5_Load(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123";
    conn.Open();
    SqlCommand com = new SqlCommand();
    com.Connection = conn;
    com.CommandText = "select xymc from xy";
    SqlDataReader dr;
    dr = com.ExecuteReader();
    cbx1.Items.Clear();
    while (dr.Read())
    {
        cbx1.Items.Add(dr[0].ToString());
    }
    dr.Close();
    conn.Close();
}

单击查询按钮所用代码

private void btn1_Click(object sender, EventArgs e)
{
    SqlConnection sqlconnect = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sqlconnect.Open();
    string str = "";
    SqlCommand cmd1 = new SqlCommand("select xybh from xy where xymc='" + cbx1.Text + "'", sqlconnect);
    SqlDataReader dr;
    dr = cmd1.ExecuteReader();
    dr.Read();
    string cno = dr[0].ToString();
    dr.Close();
    if (txt1.Text == "" || txt2.Text == "" || cbx6.Text == "" || cbx1.Items.Count == 0 || txt2.Text == "" || cbx2.Items.Count == 0 || cbx4.Items.Count == 0 || cbx4.Items.Count == 0)
    {
        MessageBox.Show("请输入该学生的完整信息");
    }
    else
    {
        str = "insert into xs (xh,xm,xb,csrq,xyh,dh,sslh,ssh,cwh,sfjf) values ('" + txt1.Text + "','" + txt2.Text + "','" + cbx6.Text + "','" + dtp1.Value.ToString("yyyy-MM-dd HH:mm:ss") + "','" + cno + "','" + txt3.Text + "','" + cbx2.Text + "','" + txt4.Text + "','" + cbx4.Text + "','" + cbx5.Text + "')";
    }
    SqlCommand sqlcommand = new SqlCommand(str, sqlconnect);
    int s = sqlcommand.ExecuteNonQuery();
    if (s == 1)
    {
        MessageBox.Show("添加成功");
        txt1.Clear();
    }
    sqlconnect.Close();
}

删除学生信息界面

查找按钮所用代码

private void btn1_Click(object sender, EventArgs e)
{
    SqlConnection sconn = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sconn.Open();
    SqlDataAdapter sda = new SqlDataAdapter("select * from xs where xh='" + txt1.Text + "'", sconn);
    DataSet clnnum = new DataSet();
    sda.Fill(clnnum, "xs");
    this.dataGridView1.DataSource = clnnum;
    this.dataGridView1.DataMember = "xs";
    sconn.Close();
}

删除所用代码

private void btn2_Click(object sender, EventArgs e)
{
    SqlConnection sqlconnect = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sqlconnect.Open();
    string str = "";
    if (txt1.Text.Trim().Length == 0)
    {
        MessageBox.Show("请输入要删除的学号!!!");
    }
    else if (txt1.Text.Trim().Length > 0 )
    {
        str = "delete from xs where xh=" + txt1.Text + "";
    }
    SqlCommand sqlcommand = new SqlCommand(str, sqlconnect);
    int s = sqlcommand.ExecuteNonQuery();
    if (s == 1)
    {
        MessageBox.Show("删除成功");
        txt1.Clear();
    }
    sqlconnect.Close();
}

更改学生信息界面

填充下拉框所用代码

private void frm7_Load(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123";
    conn.Open();
    SqlCommand com = new SqlCommand();
    com.Connection = conn;
    com.CommandText = "select xymc from xy";
    SqlDataReader dr;
    dr = com.ExecuteReader();
    cbx1.Items.Clear();
    while (dr.Read())
    {
        cbx1.Items.Add(dr[0].ToString());
    }
    dr.Close();
    conn.Close();
}

更改此人所用代码

private void btn1_Click(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123";
    conn.Open();
    SqlCommand comm = new SqlCommand("select * from xs where xh=" + txt1.Text,conn);
    SqlDataReader dateReader = comm.ExecuteReader();
    if (dateReader != null)
    {
        MessageBox.Show("查找成功!!");
        dateReader.Read();
        txt2.Text = dateReader[0].ToString();  // 把查到结果显示在文本框
        txt3.Text = dateReader[1].ToString();
        txt4.Text = dateReader[2].ToString();
        txt5.Text = dateReader[3].ToString();
        txt6.Text = dateReader[4].ToString();
        txt7.Text = dateReader[5].ToString();
        txt8.Text = dateReader[6].ToString();
        txt9.Text = dateReader[7].ToString();
        txt10.Text = dateReader[8].ToString();
        txt11.Text = dateReader[9].ToString();
    }
    else
    {
        MessageBox.Show("请重新输入!!");
    }
}

确定修改所用代码

private void btn2_Click(object sender, EventArgs e)
{
    SqlConnection sqlconnect = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sqlconnect.Open();
    SqlCommand cmd1 = new SqlCommand("select xybh from xy where xymc='" + cbx1.Text + "'", sqlconnect);
    SqlDataReader dr;
    dr = cmd1.ExecuteReader();
    dr.Read();
    string cno = dr[0].ToString();
    dr.Close();
    string str = "update xs set xh='" + txt12.Text + "',xm='" + txt13.Text + "',xb='" + cbx5.Text + "',csrq='" + dtp1.Value.ToString("yyyy-MM-dd HH:mm:ss") + "',xyh='" + cno + "',dh='" + txt14.Text + "',sslh='" + cbx2.Text + "',ssh='" + textBox1.Text + "',cwh='" + cbx4.Text + "',sfjf='" + cbx6.Text + "'where xh=" + txt1.Text;
    SqlCommand sqlcommand = new SqlCommand(str, sqlconnect);
    int s = sqlcommand.ExecuteNonQuery();
    if (s == 1)
    {
        MessageBox.Show("修改成功");
        txt1.Clear();
    }
    sqlconnect.Close();
}

外来人员入登记界面

获取当前时间所用代码

private void btn2_Click(object sender, EventArgs e)
{
    txt4.Text = DateTime.Now.ToString();
}

确认并登记所用代码

private void btn1_Click(object sender, EventArgs e)
{
    SqlConnection sqlconnect = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sqlconnect.Open();
    string str = "";
    str = "insert into wlry(sfzh,xm,xb,md,jrsj) values(" + txt1.Text + ",'" + txt2.Text + "','" + cbx1.Text + "','" + txt3.Text + "','" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "')";
    SqlCommand sqlcommand = new SqlCommand(str, sqlconnect);
    int s = sqlcommand.ExecuteNonQuery();
    if (s == 1)
    {
        MessageBox.Show("登记成功");
        txt1.Clear();
    }
    sqlconnect.Close();
}

外来人员出登记界面

查找所用

private void btn1_Click(object sender, EventArgs e)
{
    SqlConnection sconn = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sconn.Open();
    SqlDataAdapter sda = new SqlDataAdapter("select * from wlry where sfzh='" + textBox1.Text + "'", sconn);
    DataSet clnnum = new DataSet();
    sda.Fill(clnnum, "wlry");
    this.dataGridView1.DataSource = clnnum;
    this.dataGridView1.DataMember = "wlry";
    sconn.Close();
}

获取当前时间

private void btn2_Click(object sender, EventArgs e)
{
    textBox2.Text = DateTime.Now.ToString();
}

更新离开时间

private void btn3_Click(object sender, EventArgs e)
{
    SqlConnection sqlconnect = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sqlconnect.Open();
    string str = "";
    str = "update wlry set lksj='" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "'where sfzh=" + textBox1.Text ;
    SqlCommand sqlcommand = new SqlCommand(str, sqlconnect);
    int s = sqlcommand.ExecuteNonQuery();
    if (s == 1)
    {
        MessageBox.Show("离开时间登记成功");
        textBox1.Clear();
    }
    sqlconnect.Close();
}

查询全部登记记录界面

查询记录所用

private void button1_Click(object sender, EventArgs e)
{
    SqlConnection sconn = new SqlConnection("Data Source=localhost;Initial Catalog=huyuk; User ID=sa;Password=123");
    sconn.Open();
    SqlDataAdapter sda = new SqlDataAdapter("select * from wlry ", sconn);
    DataSet clnnum = new DataSet();
    sda.Fill(clnnum, "wlry");
    this.dataGridView1.DataSource = clnnum;
    this.dataGridView1.DataMember = "wlry";
    sconn.Close();
}

六、结束语

​ 通过本次数据库课程设计,让我们接触到 c#这种新的语言。从早期的学习到后期的设计中,我们收获了不少的经验,其次我体会到了团队合作的重要性,这次课设我们分工合作,一人负责数据库和程序的编写,一人负责内部空间的调整。我们两人缺少任意一方的努力都不能完成这次课程设计。同时在这种模式下,我们互相分享各自的想法,共同摸索代替前进,有时自己的一个 bug 怎么也找不出来,但和搭档一起看一起想则解决方法想的很快,比如一个数据库在不同电脑上数据库地址不同,一开始我只能想到让用户自己输入数据库地址,但在搭档的帮助下,我知道了可以通过 localhost 代替本机地址,达到每台电脑都适配的目的,减少了程序的复杂度,减轻了用户的使用负担。一个人所学的知识不可能面面俱到,只有通过合作,取长补短,才能将任务完成的更为出色。

​ 通过此次课程设计,我们加深了对数据库知识的理解,在课程设计的准备阶段,我们复习了数据库的相关命令和机制,以及学习了 C#的 winforms 编程,在这之外,还上网查询了一些相关资料,和一些实际问题解决的例子,通过理解别人的解决思路,将方法收入自己的脑海中。在这个过程中。我们对整个连接数据库程序的过程有了一个更加具体详细的认识,在编写过程中我们还学会了 c#中与数据库进行连接,实现了相关的增删查改操作。

​ 同时我们还深知自己做的不过完善,比如 UI 的简陋原始,没有一种赏心悦目的感觉,我们后期会继续更改。计算机技术飞速发展,让我们认识到只有不断地加强学习,才能在计算机方面不被淘汰,我们在今后还会努力学习,增加自己的知识内涵。

♻️ 资源

在这里插入图片描述

大小: 4.51MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87248974

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML XHTML HTML5区别

文章目录HTML & XHTML & HTML5区别HTMLXHTMLHTML5区别HTML & XHTML & HTML5区别 HTML HTML&#xff0c;全称“HyperText Mark-up Language&#xff08;超文本标记语言&#xff09;”&#xff0c;它是构成网页文档的主要语言。我们常说的HTML&#xff0c;指的…

金融服务机构提高移动应用程序安全性的 3 种方式

金融移动应用程序的使用正在迅速加速&#xff0c; 2020 年用户会话数量增长了 49% 。VMware报告称&#xff0c;金融应用程序的网络攻击在同年也增长了 118%。 Intertrust的另一份报告显示&#xff0c;77% 的金融服务应用程序至少包含一个可能导致数据泄露的安全漏洞。最近发现…

【Three.js入门】纹理加载进度、环境贴图、经纬线映射贴图与高动态范围成像HDR

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端 &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿多个前端 offer&#xff08;秋招&#xff09; &#x1f680;未…

VMwareLinux详细安装步骤

一、VmWare虚拟机的安装 目录 一、VmWare虚拟机的安装 1、安装虚拟机 二、在虚拟机上安装CentOS 1、创建新虚拟机 2、选择典型→ 下一步 3、选择稍后安装操作系统 4、选择操作系统和版本 5、输入虚拟机名称和安装路径 6、设置磁盘大小 7、选择CentOS安装镜像文件 8、…

射线检测中的像质计

像质计&#xff0c;透度计 Image Quality Indicators&#xff0c;Penetrameters 分类&#xff1a;线型像质计、阶梯孔型像质计、平板孔型像质计、双丝型像质计。 前三种像质计的作用&#xff1a;测定检测图像的厚度&#xff08;密度&#xff09;对比度&#xff1b; 后一种像质…

数论专题(1)数论函数,整数分块

从今天起,我们将要开始数论的学习,是不是感觉很难?难的话就听我讲吧,讲了后就不难了(bushi) 数论函数定义 (数论函数) 数论函数的定义:在全体正整数&#xff08;或者整数&#xff09;上定义的函数称作数论函数。 积性的定义&#xff1a;若 gcd(a,b)1,则f(ab)f(a)f(b)。举个栗…

适合制造业的ERP系统有哪些? 制造业的ERP对企业有什么作用?

在当前的激烈的市场竞争下&#xff0c;制造企业如果想要长期稳定地发展&#xff0c;除了需要把外部因素做好把控&#xff0c;还需要提升企业自身的管理水平&#xff0c;来提高自己的竞争力&#xff0c;而信息化是企业发展的必经之路。 适合制造业的ERP系统在企业管理中起到了至…

《Science》教你如何写好一篇博士毕业论文!

博士生涯的完美结束少不了一篇优秀的毕业论文。但是说起来容易&#xff0c;写起来有时让人痛不欲生。不仅内容多&#xff0c;还需要用严谨的逻辑把章节联系起来&#xff0c;常常耗时耗力。而且博士论文要的不仅仅是学术工作的质量&#xff0c;如何将这些工作合理、完整地呈现也…

基于Java实现(PC)大学班级事务管理系统【100010059】

大学班级事务管理系统 要求 本次设计要求利用 Java 实现 C/S 模式的大学班级内日常事务管理系统&#xff08;PC 版&#xff0c;应用于校内网有线网络访问&#xff0c;暂不开发移动端&#xff09;&#xff0c;不得依赖现有的建模框架&#xff0c;使用 swings 技术完成如下基本…

IP地址分类及范围详解

IP地址分为公网IP地址&#xff08;合法IP地址&#xff09;和私有IP地址 公网IP地址主要应用于Internet上的主机访问&#xff0c;而私有IP地址应用于局域网中计算机的相互通信。 IP地址的表示形式&#xff1a;分为二进制表示和点分十进制表示。现在使用的IP地址长度均为32位/4个…

阿里云oss访问图片出现跨域问题

需要服务器端支持&#xff0c;开一下cdn Access-Control-Allow-Origin字段是服务端添加了才有的&#xff0c;前端加了crossOrigin"anonymous"是想跨域获取这张图片&#xff0c;好用在canvas.toDataURL()上&#xff0c;但是服务端不一定同意&#xff0c;服务端添加了…

开始摸索学习go,具体内容和过程就慢慢补充吧。

计划学习路线 文章目录计划学习路线书籍开源项目资料网站课程书籍 《go语言核心编程》 -腾讯作者 《go语言编程之旅》 -5个项目 --对go语言能做的内容做了整体介绍吧&#xff0c;对细节还不够细化&#xff0c;对独立编写代码帮助有限 第二章 swaage 有版本冲突&#xff0c;等…

37.卷积神经网络(LeNet)的代码实现(在colab上)

ps&#xff1a;在教材上直接打开colab&#xff0c;运行原来的代码!pip install githttps://github.com/d2l-ai/d2l-zhrelease # installing d2l是会报错的&#xff0c;改成这句代码&#xff0c;可以正确运行&#xff1a;!pip install d2l0.14.&#xff0c;直接制定了d2l的版本 …

利用Bat打开exe程序并传入值

目录 一、分清楚exe接收值的方式 1、打开exe时提示输入1、2、3... 2、知道exe形参&#xff08;程序主函数中定义的argv[]&#xff09; 二、call和start的区别 一、分清楚exe接收值的方式 1、打开exe时提示输入1、2、3... 如图&#xff1a; 这种是程序运行时接收用户输入…

SuperMap GIS 三维硬件设置优化

目录一、简介二、查看硬件显卡三、显卡设置1、NVIDA显卡设置2、AMD显卡设置一、简介 我们都知道为了体验更好的大型3D游戏&#xff0c;那么好的显卡是必不可少的。但是有了好的显卡当配置不对时&#xff0c;此时体验感也会大打折扣。同样的道理&#xff0c;在SuperMap中也需要…

Redis原理篇—通信协议

Redis原理篇—通信协议 笔记整理自 b站_黑马程序员Redis入门到实战教程 RESP协议 Redis 是一个 CS 架构的软件&#xff0c;通信一般分两步&#xff08;不包括 pipeline 和 PubSub&#xff09;&#xff1a; 客户端&#xff08;client&#xff09;向服务端&#xff08;server&a…

VMC证书是什么?获取认证标志证书步骤是怎样的?

VMC证书是什么&#xff1f; VMC证书(全称&#xff1a;Verified Mark Certificate)&#xff0c;也称认证标志证书&#xff0c;是由权威CA机构颁发&#xff0c;用于验证商标所有权的数字证书。 VMC 通过提供验证机制与 BIMI 协同工作&#xff0c;BIMI标准可以在电子邮件中的“发…

OSCS开源安全周报第23期:Foxit PDF Reader/Editor 任意代码执行漏洞

本周安全态势综述 OSCS 社区共收录安全漏洞10个&#xff0c;其中公开漏洞值得关注的是 Apache Airflow Hive Provider <5.0.0 存在操作系统命令注入漏洞&#xff08;CVE-2022-46421&#xff09;vm2 < 3.9.10 存在任意代码执行漏洞&#xff08;CVE-2022-25893&#xff0…

湖南软件工程自考本科总结

本人情况 在湖南长沙考试&#xff0c;从2021年初开始备考&#xff0c;社会考生&#xff0c;自己复习&#xff0c;从2021-4月到2022-10月&#xff0c;理论每次都考了4门课程&#xff0c;前3次每次挂了1门课程&#xff0c;刚刚好在4次考试完成了所有的理论考试。 经验分享 复习重…

2022 re:Invent 凌云驭势 重塑未来

2022年11月29日&#xff0c;一年一度的亚马逊 re:Invent全球大会在拉斯维加斯再度上演&#xff0c;这是亚马逊云科技第11年举办re:Invent&#xff0c;来自全球的5万多客户和合作伙伴参加了此次线下盛会&#xff0c;还有超过30万人线上参会。在此次大会上&#xff0c;亚马逊云科…