我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#实现学生模块的增删改查

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#实现学生模块的增删改查

本文实例为大家分享了C#实现学生模块的增删改查的具体代码,供大家参考,具体内容如下

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

namespace text3_CRUD
{
    public partial class Form1 : Form
    {
        //把连接数据库的字符串提取出来,就不用每次都要写,增加代码复用性
        private string str = "data source=本地IP;initial catalog=数据库名;user ID=用户名;pwd=密码";

        public Form1()
        {
            InitializeComponent();
   
        }
       
        private void TextBox5_TextChanged(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {


        }

        private void Label10_Click(object sender, EventArgs e)
        {

        }

        /// <summary>
        /// 添加学生信息档案
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButAdd_Click(object sender, EventArgs e)
        {
            //获取各个文本框的数据
            string name = txtname.Text;
            string sex = txtsex.Text;
            string college = txtcollege.Text;
            string id = txtid.Text;
            string grade = txtgrade.Text;
            string phone = txtphone.Text;
            string email = txtemail.Text;
            string qq = txtqq.Text;
            string room = txtroom.Text;

            using (var conn = new SqlConnection(this.str))//定义一个数据库连接实例
            {
                conn.Open();//打开数据库
                
                Form1 f = new Form1();//实例化Form1窗体对象

                if (f.Existence(id, conn))//检查数据库 存不存在此条记录,存在则插入
                {
                    SqlParameter[] para = new SqlParameter[]//构建存储过程的输入参数
                    {
                        new SqlParameter("@name",name),
                        new SqlParameter("@sex", sex),
                        new SqlParameter("@college", college),
                        new SqlParameter("@id", id),
                        new SqlParameter("@grade", grade),
                        new SqlParameter("@phone", phone),
                        new SqlParameter("@email", email),
                        new SqlParameter("@qq", qq),
                        new SqlParameter("@room", room),

                    };

                    string sql = "insert into Students values(@name, @sex, @college, @id, @grade, @phone, @email, @qq, @room);";//定义一个数据库操作指令集

                    SqlCommand com = new SqlCommand(sql, conn);//执行数据库操作指令

                    com.Parameters.AddRange(para);//將参数和命令对象的参数集合绑定
                    int result = (int)com.ExecuteNonQuery();//针对Connection执行的SQL语句,返回受影响的行数,result > 0则表示SQL语句执行成功
                    if (result > 0)
                    {
                        MessageBox.Show("添加成功!");//弹窗显示“添加成功” 
                        this.Form1_Load_1(null, null);//刷新数据
                        
                    }
                    else
                    {
                        MessageBox.Show("添加失败!");
                    }
                    
                }
                else
                {
                    MessageBox.Show("数据已经存在!");
                }
                conn.Close();//关闭数据库
                //Application.Exit();//关闭整个应用程序

            }
        }

        /// <summary>
        /// 根据ID值判断数据表Students中是否存在这个人,存在返回false,不存在返回true
        /// </summary>
        /// <param name="id"></param>
        /// <param name="conn"></param>
        /// <returns></returns>
        public bool Existence(string id, SqlConnection conn)
        {
            string txtStr = string.Format( "select id from Students where id = '{0}' " ,id);//定义一个数据库操作指令集
            SqlDataAdapter sda = new SqlDataAdapter(txtStr, conn);//定义一个数据库适配器
            DataSet ds = new DataSet();//定义数据集合
            sda.Fill(ds);//填充数据集合
            DataTable dt = ds.Tables[0];//將数据集合中的第一张表赋值给DataTable
            if(dt.Rows.Count > 0)   //count > 0表示有数据
            {
                return false;
            }
            else
            {
                return true;
            }
            
        }
        /// <summary>
        /// 对数据库进行的动态查询,不管用户掌握的信息有多少都可以查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSelect_Click(object sender, EventArgs e)
        {
            //获取各个文本框的数据
            string name = txtname.Text;
            string sex = txtsex.Text;
            string college = txtcollege.Text;
            string id = txtid.Text;
            string grade = txtgrade.Text;
            string phone = txtphone.Text;
            string email = txtemail.Text;
            string qq = txtqq.Text;
            string room = txtroom.Text;

            using(var conn = new SqlConnection(this.str))//定义一个数据库连接实例
            {
                conn.Open();//打开数据库
                StringBuilder sb = new StringBuilder();//创建一个字符串变量
                sb.Append("select name, sex, college, id, grade,phone, email, qq, room from Students where 1=1");
                //判断用户有没有给出其它的查询条件,有则添加进sql语句
                if (name != "")
                {
                    sb.AppendFormat(" and name = '{0}'", name);
                }
                if (sex != "")
                {
                    sb.AppendFormat(" and sex = '{0}'", sex);
                }
                if (college != "")
                {
                    sb.AppendFormat(" and college = '{0}'", college);
                }
                if (id != "")
                {
                    sb.AppendFormat(" and id = '{0}'", id);
                }
                if (grade != "")
                {
                    sb.AppendFormat(" and grade = '{0}'", grade);
                }
                if (phone != "")
                {
                    sb.AppendFormat(" and phone = '{0}'", phone);
                }
                if (email != "")
                {
                    sb.AppendFormat(" and email = '{0}'", email);
                }
                if (qq != "")
                {
                    sb.AppendFormat(" and qq = '{0}'", qq);
                }
                if (room != "")
                {
                    sb.AppendFormat(" and room = '{0}'", room);
                }
                string sql = sb.ToString();
                SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
                DataSet ds = new DataSet();//定义一个数据集合
                adapter.Fill(ds);//填充数据集合
                dataGridView1.DataSource = ds.Tables[0];//把数据集合绑定到dataGridView上,dataGridView会以表格的形式显示出来
                conn.Close();//关闭数据库

            }
        }
        /// <summary>
        /// 修改学生信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnUpdate_Click(object sender, EventArgs e)
        {
            //获取各个文本框的数据
            string name = txtname.Text;
            string sex = txtsex.Text;
            string college = txtcollege.Text;
            string id = txtid.Text;
            string grade = txtgrade.Text;
            string phone = txtphone.Text;
            string email = txtemail.Text;
            string qq = txtqq.Text;
            string room = txtroom.Text;

            //构建存储过程的输入参数
            SqlParameter[] para = new SqlParameter[]
            {
                new SqlParameter("@name",name),
                new SqlParameter("@sex", sex),
                new SqlParameter("@college", college),
                new SqlParameter("@id", id),
                new SqlParameter("@grade", grade),
                new SqlParameter("@phone", phone),
                new SqlParameter("@email", email),
                new SqlParameter("@qq", qq),
                new SqlParameter("@room", room)
            };
            using(var conn = new SqlConnection(this.str))
            {
                conn.Open();//打开数据库;
                string sql = "update Students set name = @name, sex = @sex, college = @college, id = @id, grade = @grade, phone = @phone, email = @email, qq = @qq, room = @room where id = @id";
                SqlCommand com = new SqlCommand(sql, conn);//执行数据库操作指令
                com.Parameters.AddRange(para);//将参数和命令对象的参数集合绑定
                int result = (int)com.ExecuteNonQuery();//查询返回的第一行第一列
                if(result > 0)
                {
                    MessageBox.Show("修改成功!");
                    this.Form1_Load_1(null, null);//修改完数据后,重新刷新属性Form1窗口,以查看变化的内容
                    conn.Close();//关闭数据库
                }
            }


            //SqlDataAdapter sda = new SqlDataAdapter();
        }
        /// <summary>
        /// 刷新DataGridView里的数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load_1(object sender, EventArgs e)
        {
            
            using (var conn = new SqlConnection(this.str))//定义一个数据库连接实例
            {
                conn.Open();//打开数据库
                string sql = "select * from Students";//定义一个数据库操作指令
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);//定义数据库适配器
                DataSet ds = new DataSet();//定义数据集合
                sda.Fill(ds);//填充数据集合
                dataGridView1.DataSource = ds.Tables[0];
                conn.Close();//关闭数据库
            }
        }

        private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            
        }
        /// <summary>
        /// 选中DataGridView的行,这一行的数据返回到对应的文本框
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e)
        {   
            //SelectedRows[0] 获取用户选定行的集合(选中的第一行就是0,一次类推)
            //Cells["name"] 获取用于填充行的单元格集合(就是列) .Value就是它的值,最后ToString转字符串
            txtname.Text = dataGridView1.SelectedRows[0].Cells["name"].Value.ToString();
            txtsex.Text = dataGridView1.SelectedRows[0].Cells["sex"].Value.ToString();
            txtcollege.Text = dataGridView1.SelectedRows[0].Cells["college"].Value.ToString();
            txtid.Text = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
            txtgrade.Text = dataGridView1.SelectedRows[0].Cells["grade"].Value.ToString();
            txtphone.Text = dataGridView1.SelectedRows[0].Cells["phone"].Value.ToString();
            txtemail.Text = dataGridView1.SelectedRows[0].Cells["email"].Value.ToString();
            txtqq.Text = dataGridView1.SelectedRows[0].Cells["qq"].Value.ToString();
            txtroom.Text = dataGridView1.SelectedRows[0].Cells["room"].Value.ToString();
 
        }
        /// <summary>
        /// 删除某个学生的所有数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnDelete_Click(object sender, EventArgs e)
        {
            using(var conn = new SqlConnection(this.str))//创建一个数据库连接实例
            {
                conn.Open();//连接数据库
                string sql = string.Format("delete from Students where id = '{0}'", txtid.Text);//往数据库操作指令中传值
                //如果传的值不是很多的话,就用这种方法;如果有很多就用SqlParameter[]

                SqlCommand com = new SqlCommand(sql, conn);//执行数据库删除指令

                int result = (int)com.ExecuteNonQuery();//返回结果,result > 0则为修改成功
                if(result > 0)
                {
                    MessageBox.Show("删除成功!");
                    this.Form1_Load_1(null, null);//刷新数据
                    conn.Close();//关闭数据库
                }
            }
        }
        /// <summary>
        /// 对文本框进行清空处理,方便重新输入下一个学生信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnClear_Click(object sender, EventArgs e)
        {
            txtname.Text = null;
            txtsex.Text = null;
            txtcollege.Text = null;
            txtid.Text = null;
            txtgrade.Text = null;
            txtphone.Text = null;
            txtemail.Text = null;
            txtqq.Text = null;
            txtroom.Text = null;
        }
    }
}

Students表

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#实现学生模块的增删改查

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C++_String增删查改模拟实现

C++_String增删查改模拟实现 前言一、string默认构造、析构函数、拷贝构造、赋值重载1.1 默认构造1.2 析构函数1.3 拷贝构造1.4 赋值重载 二、迭代器和范围for三、元素相关:operator[ ]四、容量
C++_String增删查改模拟实现
2023-12-23

c#怎么实现数据库的增删改查

数据库增删改查操作:增:使用dbcontext.add()添加新实体。删:使用dbcontext.remove()删除现有实体。改:使用dbcontext.modify()更新现有实体。查:使用dbcontext.find()或dbcont
c#怎么实现数据库的增删改查
2024-05-12

Mybatis实现自动生成增删改查代码

这篇文章主要为大家详细介绍了Mybatis如何实现自动生成增删改查代码的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2023-01-11

基于PHP怎么实现原生增删改查

这篇文章主要讲解了“基于PHP怎么实现原生增删改查”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于PHP怎么实现原生增删改查”吧!一、代码1、sql-- phpMyAdmin SQL Du
2023-06-30

python实现mongodb的增删改查

python实现mongodb的增删改查环境:192.168.122.1    python192.168.122.11  mongodb一、安装pip,python的管理工具 官网下载:pip-18.0 安装pip[root@founda
2023-01-31

详解Nodejs基于mongoose模块的增删改查的操作

MongoDB MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换带来的时间空间开销。 Mongoose 是Mo
2022-06-04

C#如何操作SQLite实现数据的增删改查

这篇文章主要介绍了C#如何操作SQLite实现数据的增删改查,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简介SQLite是一个轻量级、跨平台的关系型数据库,在小型项目中,方
2023-06-28

react如何实现todolist的增删改查

这期内容当中小编将会给大家带来有关react如何实现todolist的增删改查,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。以todolist为例目录如下app.js import React, { P
2023-06-22

php mongodb实现增删改查的方法

本篇内容主要讲解“php mongodb实现增删改查的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php mongodb实现增删改查的方法”吧!php mongodb实现增删改查的方法:1
2023-06-07

nodejs操作mysql实现增删改查的实例

首先需要安装mysql模块:npm install mysql --save 然后创建user数据表:接着使用nodejs对数据库进行增删改查:.【活动】2017 CSDN博客专栏评选 【评论送书】SQL优化、深度学习、数据科学家
2022-06-04

iOS实现日历行程的增删改查

前言 我们可以使用系统提供的EventKit框架来访问和操作用户的日历日程和提醒(虽然日历和提醒是两个独立的app,但是是用同一个框架来处理数据)。同样地,日历和提醒的数据的数据,都是存储在同一个叫做Calendar Database的数据
2022-06-01

php如何实现数据的增删改查

PHP可以通过以下方式实现数据的增删改查:1. 数据的增加(Create):- 使用SQL语句插入数据:可以使用`INSERT INTO`语句将数据插入数据库中。- 使用ORM框架:ORM(对象关系映射)框架可以将对象和数据库表之间进行映射
2023-08-23

怎么实现JavaWeb用户的增删改查

本篇内容介绍了“怎么实现JavaWeb用户的增删改查”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!准备工作后端技术前端技术角色维护-分页实现
2023-06-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录