IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> C#与数据库2——练习增删改查 -> 正文阅读

[大数据]C#与数据库2——练习增删改查

  1. 数据库建立
    建立TestSchool数据库并在此数据库下建立表格TblClassId
    在这里插入图片描述

  2. 建立Windows窗体应用Form1
    在这里插入图片描述

  3. 创建TblClassIdl类,用以绑定数据

public class TblClassId//创建类
    {
        //Id,Name,Desc
        public int Id { get; set; }//属性
        //public int Id;//改成字段的话在绑定数据的时候就不显示了
        public string Name { get; set; }
        //public string Name;
        public string Desc { get; set; }
        //public string Desc;
        //public string 我的属性
        //{
        //    get { return "测试"; }
            
        //}

        
    }
  1. 主窗体程序
//窗体加载事件
        private void Form1_Load(object sender, EventArgs e)
        {
            //将TblClassId表中的数据读取到一个List<T>中
            LoadData();
        }

        private void LoadData()
        {
            List<TblClassId> list = new List<TblClassId>();//创建集合

            string constr = @"server=DESKTOP-FAVDBP3\MSSQLSERVER2014;user=123;pwd=123;database=TestSchool";
            SqlConnection con = new SqlConnection(constr);
            string sql = "select * from TblClassId";
            SqlCommand cmd = new SqlCommand(sql,con);
            con.Open();
            SqlDataReader reader = cmd.ExecuteReader();
            //判断是否查询到了数据
            if (reader.HasRows)
            {
                //一条一条读取数据
                while (reader.Read())
                {
                    //Id,Name,Desc
                    TblClassId model = new TblClassId();
                    model.Id = reader.GetInt32(0);
                    model.Name = reader.GetString(1);
                    model.Desc = reader.IsDBNull(2) ? null : reader.GetString(2);//处理空值

                    //数据绑定需要注意的一点:
                    //数据绑定的时候。只认“属性”,不认“字段”。
                    //数据绑定是通过反射来实现的,反射只反射里面的属性,不反射里面的字段
                    list.Add(model);//把model对象加入到list集合里面
                }
                
            }
            this.dgvClassId.DataSource = list;//数据绑定
            con.Close();
        }

        //增加一条数据
        private void button1_Click(object sender, EventArgs e)
        {
            //1.采集用户输入
            string cName = CName.Text.Trim();
            string cDesc = CDesc.Text.Trim();

            //2.执行插入操作
            string constr = @"server=DESKTOP-FAVDBP3\MSSQLSERVER2014;user=123;pwd=123;database=TestSchool";
            SqlConnection con = new SqlConnection(constr);
            string sql = string.Format("insert into TblClassId values('{0}','{1}')", cName, cDesc);
            //string sql = string.Format("insert into TblClassId output inserted.Id values('{0}','{1}')", cName, cDesc);
            SqlCommand cmd = new SqlCommand(sql, con);
            con.Open();
            int r = cmd.ExecuteNonQuery();
            if (r > 0)
            {
                //MessageBox.Show("插入成功!");//会阻塞进程
                this.Text = "插入成功!";
                LoadData();//重新加载DataGridVie控件
            }
            else
            {
                //MessageBox.Show("插入了" + r + "行。!");
                this.Text = "插入了" + r + "行。!";
            }
            con.Close();


            //object obj = cmd.ExecuteScalar();
            //this.Text = "刚刚插入记录的自动编号是:" + obj.ToString();
            //LoadData();

        }

        //行获取焦点事件
        private void dgvClassId_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            //获取当前选中的行对象
            DataGridViewRow currentRow = this.dgvClassId.Rows[e.RowIndex];

            //获取当前行中绑定的TblClassId数据对象
            TblClassId model = currentRow.DataBoundItem as TblClassId;
            if(model!=null)
            {
                CId.Text = model.Id.ToString();
                EditName.Text = model.Name;
                EditDesc.Text = model.Desc;
            }
        }

        //保存修改数据
        private void button2_Click(object sender, EventArgs e)
        {
            //1.采集用户输入
            TblClassId model = new TblClassId();
            model.Id = Convert.ToInt32(CId.Text);
            model.Name =EditName.Text.Trim();
            model.Desc =EditDesc.Text.Trim();

            //2.连接数据库,执行操作
            string constr = @"server=DESKTOP-FAVDBP3\MSSQLSERVER2014;user=123;pwd=123;database=TestSchool";
            SqlConnection con = new SqlConnection(constr);
            string sql = string.Format("update TblClassId set Name='{0}',[Desc]='{1}' where Id={2}",
                model.Name,model.Desc,model.Id);
            SqlCommand cmd = new SqlCommand(sql, con);
            con.Open();
            int r = cmd.ExecuteNonQuery();
            this.Text = "更新了" + r + "行。";

            LoadData();//重新加载,绑定DataGridView,使里面的数据能够更新
            con.Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            DialogResult result= MessageBox.Show("确定要删除吗?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            if(result==System.Windows.Forms.DialogResult.OK)
            {
                int Id = Convert.ToInt32(CId.Text);
                string constr = @"server=DESKTOP-FAVDBP3\MSSQLSERVER2014;user=123;pwd=123;database=TestSchool";
                SqlConnection con = new SqlConnection(constr);
                string sql = string.Format("delete from TblClassId where Id={0}", Id);
                SqlCommand cmd = new SqlCommand(sql, con);
                con.Open();
                int r = cmd.ExecuteNonQuery();
                this.Text = "删除了" + r + "条数据。";
                LoadData();
                con.Close();
            }
        }
  1. 调试
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:08:39  更:2022-04-01 00:09:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:38:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码