2020-12-09DataGridView删除和更新数据

DataGridView删除和更新数据

删除

  • 新建窗口添加DataGridView控件调整属性

在这里插入图片描述

在这里插入图片描述

  • 新建一个menuStrip控件添加数据

在这里插入图片描述

  • 再添加一个contextMenusStrip控件

在这里插入图片描述

  • 双击删除按钮编写代码

在这里插入图片描述

运行它(能成功才叫怪前面还没说呢)

  • 言归正传先双击窗体控件然后添加loading方法(loading就是个变量名和我一起准没错)

在这里插入图片描述

  • 再将loading方法定义

在这里插入图片描述

  • 改变链接位子方便之后操作

在这里插入图片描述

更新

更新也不多删除基本以实现将他实例化就行

  • 双击更新按钮弹出代码框架书写代码

在这里插入图片描述

总结

代码详情

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 DataGridView控件知识
{
    public partial class Form1 : Form
    {
        //小车
        SqlDataAdapter adapter;
        //数据集
        DataSet ds = new DataSet();
        //连接对象
        SqlConnection conn;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //加载方法
            loading();
        }
        //定义加载方法
        public void loading()
        {
            //数据集
            //清空一下仓库
            if (ds.Tables.Count > 0)
            {
                ds.Tables["hero"].Clear();
            }

            //sql语句
            String sql = "select * from zhanguo";

            //连接对象
            //连接类 链接对象名称 = new 连接类(连接字符串);
            String connString = "Data Source=.;Initial Catalog=text;Integrated Security=True";
            conn = new SqlConnection(connString);

            //小车
            //小车类 小车名称  = new 小车类(sql,连接对象)
            adapter = new SqlDataAdapter(sql,conn);

            //小车卸货到仓库
            adapter.Fill(ds,"hero");

            //核心操作

            //关闭自动列的添加
            dataGridView1.AutoGenerateColumns = false;
            //控件绑定数据源
            //控件对象.DataSource = 仓库.Tables[表名称]
            dataGridView1.DataSource = ds.Tables["hero"];
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void gengxin_Click(object sender, EventArgs e)
        {
            //更新数据
            //实例化一个更新用的对象
            SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

            //提示内容
            MessageBox.Show("更新成功");

            //小车更新数据
            adapter.Update(ds, "hero");
        }

        private void 删除行dToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //最终目的获得选中行的第一个单元格里面的值
            //控件.当前行

            //1.获得选中的行
            DataGridViewRow currentRow = dataGridView1.CurrentRow;

            //2.获得该行的第0好索引的单元格
            DataGridViewCell currentCell = currentRow.Cells[0];

            //3.获得该单元格的value值
            String value = currentCell.Value.ToString();
            /*MessageBox.Show(value);*/

            //4.通过连接式删除数据
            //通过链接对象删除这个数据
            String sql = "delete from zhanguo where id = " + value;

            //新建一个执法者
            SqlCommand cmd = new SqlCommand(sql,conn);

            //打开链接
            try
            {
                //可能会出错
                conn.Open();

                //执法者方法调用
                int n = cmd.ExecuteNonQuery();

                //输出结果
                MessageBox.Show("删除成功,影响行数为:" + n);

                //重新load一下数据
                loading();
            }
            catch
            {
                //提示出错
                MessageBox.Show("error");
            }
            finally { 
               //关闭连接对象
                conn.Close();
            }          
        }
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值