手把手教你用SQLServer连接Visual Studio2019并编写一个学生信息管理页面

这篇具有很好参考价值的文章主要介绍了手把手教你用SQLServer连接Visual Studio2019并编写一个学生信息管理页面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

安装SQLServer

创建新项目

建数据库建表

窗体设计

代码实现

 整体效果


安装SQLServer

用SQLServer连接Visual Studio,首先需要下载SQLServer app。

下载教程,我之前写过,可以点击如下链接先下载安装SQLServer:

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

SQL Server(express)安装教程

创建新项目

安装好SQL之后,打开VisualStudio2019,新建一个window项目

,步骤如下:选择创建新项目

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

选择Windows窗体应用(.NET Framework)  点击下一步。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

给文件命名为:WinFormsApplicationStudentManagement ,点击下一步

 vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 点击创建,就建好了

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

建数据库建表

项目建好之后我们先连接数据库。

1.找到服务器资源管理器

2.找到数据连接,右键,添加连接

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

数据源选择Microsoft SQL Server数据库文件(SqlClient)

数据库文件名输入StudentManagement 这是我们创建的数据库的名称

登录方式身份验证,选Windows身份验证

点击确定

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

点击这样就建好了数据库

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 下面我们新建两个表。

一个student表,存储学号(主键)、姓名、年龄、分数。

一个college表,存储专业号(主键),和专业名。

按照步骤:

选择刚建好的数据库,双击打开。

打开后找到表,右键,选择添加新表

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 添加新表后,会出现如下界面:

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

按照我这样设计表,设计完成后,点击更新  注意要更改表名。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库 点击更新后,会出现如下界面:点击更新数据库即可。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

点击更新数据库按钮。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 这是刷新之后的样子,能看到刚才建立的student表。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 同样方法,我们新建一个college表。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 这是college表建好之后的样子。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

窗体设计

表建好了,我们开始设计窗体。

打开Form1.cs[Design]

设计如下页面

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 布局如下:

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

组件在工具箱中添加;

组件name text 事件在属性中编辑

左部:name=groupbox1 text=学生列表

中间:name=groupbox2 text=学生详情

右边:name=groupbox3 text=操作

下边:richtextbox name=rtxtStudentList

写完是这样的。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 再来设计里面的界面:

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

设计好之后

label改text 分别改成 学号 姓名 年龄 分数

textbox改name 分别是txtId txtName txtAge txtScore

button改name和text

name分别改成 btnnew btnInsert btnUpdate btnDelete btnSave

text分别改成 新建 插入 更新 删除 保存

ComboBox改name改成cboColleges

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 忘了,学生列表里还要建一个listbox 名字是listStudent

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 布局部分完成了。

开始写代码了。

代码实现

我们使用的是Sqlconnection连接数据库,所以要新增引用

using System.Data.SqlClient;

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

找到数据库,右键属性,找到连接字符串,全选复制到代码中。

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

 我这是连好的:

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

之后的代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplicationNonetSql
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            LoadDatabase();
            BindStudentList();
            BindCollegeList();
        }
        string connectionString = @"Data Source=pc\sqlexpress;Initial Catalog=ailintext;Integrated Security=True";

        DataSet dataSet = new DataSet();

        DataTable students;
        DataTable colleges;
        private void BindStudentList()
        {

            listStudent.SelectedIndexChanged -= listStudent_SelectedIndexChanged;
            listStudent.DataSource = students;
            listStudent.DisplayMember = "student_name";
            listStudent.ValueMember = "student_id";
            listStudent.SelectedIndexChanged += listStudent_SelectedIndexChanged;

        }
        private void BindCollegeList()
        {

            listStudent.SelectedIndexChanged -= cboColleges_SelectedIndexChanged;
            cboColleges.DataSource = colleges;
            cboColleges.DisplayMember = "college_name";
            cboColleges.ValueMember = "college_id";
            listStudent.SelectedIndexChanged += cboColleges_SelectedIndexChanged;

        }

        private void LoadDatabase()
        {
            SqlConnection connection =new SqlConnection(connectionString);

            string selectCommand = "select * from student";

            SqlCommand command = new SqlCommand();
            command.CommandText = selectCommand;
            command.Connection = connection;
            //适配器
            SqlDataAdapter studentAdapter = new SqlDataAdapter();
            studentAdapter.SelectCommand = command;
            //读入数据 适配器填充数据
            studentAdapter.Fill(dataSet, "student");

            students = dataSet.Tables["student"];
            /*command.CommandText = "select * from college";*/

            /* SqlDataAdapter collegeAdapter = new SqlDataAdapter(command);
             collegeAdapter.Fill(dataSet, "college");

             colleges = dataSet.Tables["college"];*/
            students.PrimaryKey = new DataColumn[]
            {
               students.Columns["student_id"]
            };


            selectCommand = "select * from college";
            command.CommandText = selectCommand;

            SqlDataAdapter collegeAdapter = new SqlDataAdapter();
            collegeAdapter.SelectCommand = command;

            collegeAdapter.Fill(dataSet, "college");
            colleges = dataSet.Tables["college"];

            colleges.PrimaryKey = new DataColumn[]
            {
                colleges.Columns["college_id"]
            };
            DataRelation dr = new DataRelation(
                "FK_student_college",
                colleges.Columns["college_id"],
                students.Columns["college_id"]);

            dataSet.Relations.Add(dr);
        }

        private void listStudent_SelectedIndexChanged(object sender, EventArgs e)
        {
            //点击学生姓名,返回学生信息
            if (listStudent.SelectedIndex < 0)
            {
                return ;
            }
            //拿到信息
            DataRow student = students.Rows.Find(listStudent.SelectedValue);
            //显示信息
            txtId.Text = student["student_id"].ToString();
            txtName.Text = student["student_name"].ToString();
            txtAge.Text = student["student_age"].ToString();
            txtScore.Text = student["student_score"].ToString();

            cboColleges.SelectedValue = student["college_id"];

        }

        private void btnnew_Click(object sender, EventArgs e)
        {
            txtId.Text = string.Empty;
            txtName.Text = string.Empty;
            txtAge.Text = string.Empty;
            txtScore.Text = string.Empty;
        }

        private void btnInsert_Click(object sender, EventArgs e)
        {
            DataRow newStudent = students.NewRow();

            newStudent["student_id"] = txtId.Text;
            newStudent["student_name"] = txtName.Text;
            newStudent["student_age"] = txtAge.Text;
            newStudent["student_score"] = txtScore.Text;

            students.Rows.Add(newStudent);
        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtId.Text))
            {
                return;
            }

            listStudent.SelectedIndexChanged -= listStudent_SelectedIndexChanged;

            DataRow oldStudent = students.Rows.Find(txtId.Text);

            oldStudent["student_id"] = txtId.Text;
            oldStudent["student_name"] = txtName.Text;
            oldStudent["student_age"] = txtAge.Text;
            oldStudent["student_score"] = txtScore.Text;

            if (cboColleges.SelectedIndex >= 0)
            {
                oldStudent["college_id"] = cboColleges.SelectedValue;
            }
            listStudent.SelectedIndexChanged += listStudent_SelectedIndexChanged;
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection(connectionString);

            string selectCommand = "select * from student";

            SqlCommand command = new SqlCommand();
            //command.CommandText = "select * from student";
            command.CommandText = selectCommand;
            command.Connection = connection;
            //适配器
            SqlDataAdapter studentAdapter = new SqlDataAdapter();
            studentAdapter.SelectCommand = command;
            //
            SqlCommandBuilder studentCommandBuilder = new SqlCommandBuilder();
            studentCommandBuilder.DataAdapter = studentAdapter;

            studentAdapter.Update(students);
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtId.Text))
            {
                return;
            }
            DataRow oldStudent = students.Rows.Find(txtId.Text);
            oldStudent.Delete();
        }

        private void cboColleges_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboColleges.SelectedIndex < 0)
            {
                return;
            }

            DataRow college = colleges.Rows.Find(cboColleges.SelectedValue);

            string s = string.Empty;

            foreach(var item in college.GetChildRows(dataSet.Relations["FK_student_college"]))
            {
                s += item["student_id"] + "\t" + item["student_name"];
            }
            rtxtStudentList.Text = s;
        }
    }
}
//单表改

 整体效果

vs和sql做一个学生管理系统,C#,数据库原理,c#,sqlserver,visual studio,数据库

源码下载:

链接:https://pan.baidu.com/s/1AksyhybGOjPy_3sgX_YqYw
提取码:5ae1

用我的代码 改一下数据库连接字符串即可。仍有问题可以私信我,看到就回~文章来源地址https://www.toymoban.com/news/detail-519444.html

到了这里,关于手把手教你用SQLServer连接Visual Studio2019并编写一个学生信息管理页面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你用Python编写邮箱脚本引擎

    版权声明:原创不易,本文禁止抄袭、转载需附上链接,侵权必究! 邮箱是传输信息方式之一,个人,企业等都在使用,朋友之间发消息,注册/登录信息验证,订阅邮箱,企业招聘,向客户发送消息等都是邮箱的使用场景;邮箱有两个较重要的协议:SMTP和POP3,均位于OSI7层

    2024年02月06日
    浏览(37)
  • 手把手教你用video实现视频播放功能

    哈喽。大家好啊 今天需要做一个视频播放列表,让我想到了video的属性 下面让我们先看看实现效果 这里是我的代码 width是当前播放页面的宽度 height是当前播放页面的高度 Controls属性用就是控制栏那些了 比如播放按钮 暂停按钮 autoplay是指的是自动播放 poster是指的是初始化进

    2024年02月12日
    浏览(42)
  • 手把手教你用jmeter做压力测试(详图)

    压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工

    2024年02月02日
    浏览(39)
  • 手把手教你用Python实现2048小游戏

    感觉好久没有写小游戏玩了,今天恰巧有空.这次我来用Python做个2048小游戏吧.废话不多说,文中有非常详细的代码示例,需要的朋友可以参考下 目录 一、开发环境 二、环境搭建 三、原理介绍 四、效果图 Python版本:3.6.4 相关模块: pygame模块; 以及一些Python自带的模块。 安装

    2024年04月28日
    浏览(56)
  • 手把手教你用git上传项目到GitHub

    github的官方网址:https://github.com ,如果没有账号,赶紧注册一个。 点击Sign in进入登录界面,输入账号和密码登入github。 创建成功可以看到自己的仓库地址,如此,我的远程免费的仓库就创建了。它还介绍了github仓库的常用指令。这个指令需要在本地安装git客户端。 Git是目

    2024年01月18日
    浏览(42)
  • 手把手教你用MindSpore训练一个AI模型!

    首先我们要先了解深度学习的概念和AI计算框架的角色( https://zhuanlan.zhihu.com/p/463019160 ),本篇文章将演示怎么利用MindSpore来训练一个AI模型。和上一章的场景一致,我们要训练的模型是用来对手写数字图片进行分类的LeNet5模型 请参考( http://yann.lecun.com/exdb/lenet/ )。 图1 M

    2024年02月04日
    浏览(45)
  • 手把手教你用UNet做医学图像分割系统

    兄弟们好呀,这里是肆十二,这转眼间寒假就要过完了,相信大家的毕设也要准备动手了吧,作为一名大作业区的UP主,也该蹭波热度了,之前关于图像分类和目标检测我们都出了相应的教程,所以这期内容我们搞波新的,我们用Unet来做医学图像分割。我们将会以皮肤病的数

    2024年02月03日
    浏览(59)
  • 手把手教你用Git——详解git merge

    关于本教程的编写环境 本文基于 Windows10系统 , Mac 系统的小伙伴可以尝试 Homebrew 。由于本人手里并没有搭载 MacOS 的电脑,因此 Homebrew 相关的使用请自行尝试。 对于使用 Windows11系统 的小伙伴,本文的教程是通用的,不过一些细节可能略有不同,这点希望小伙伴们注意一下

    2024年02月05日
    浏览(40)
  • 手把手教你用 Docker 部署 Vue3 项目

    用 docker 可以帮我们快速部署前端项目,本文介绍了如何用 docker 快速部署 vue3 项目。请准备好一台云服务器并安装好 docker,然后开始阅读本教程。 执行 npm run build 打包后项目目录中会多出一个 dist 文件夹 利用 docker 拉取 nginx 镜像 在服务器中创建工作目录,这里我放在 /ho

    2024年02月05日
    浏览(37)
  • 爬虫实战|手把手教你用Python爬虫(附详细源码)

    实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就…  首先,咱先看下爬虫的定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自

    2024年02月02日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包