首页 > 数据库 >DataGridView 批量删除 SqlServer数据

DataGridView 批量删除 SqlServer数据

时间:2024-05-20 15:09:21浏览次数:27  
标签:批量 int list cmd SqlServer DataGridView studentList StuId conn

private void buttonDelete_Click(object sender, EventArgs e)
{
    DialogResult = MessageBox.Show("确定删除这些数据么?", "提示", MessageBoxButtons.YesNo);
    List<int> list = new List<int>();
    if (DialogResult == DialogResult.Yes)
    {
        for (int i = 0; i < studentList.Rows.Count; i++)
        {
            //获取选中的数据
            if ((bool)studentList.Rows[i].Cells["checks"].EditedFormattedValue == true)
            {
                //获取被选中数据的主键
                int n = int.Parse(studentList.Rows[i].Cells["StuId"].Value.ToString()); 
                list.Add(n);
            }
        }
        int count = 0;
        //启动事务
        using (SqlConnection conn = new SqlConnection(SqlHelper.connStr))
        {
            //事务实通过conn开启,
            conn.Open();
            SqlTransaction trans = conn.BeginTransaction();
            //sqlcommand 执行事务
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.Transaction = trans;
            try
            {
                foreach (int s in list)
                {
                    cmd.CommandText = "delete from StuInfo where StuId=@StuId";
                    SqlParameter pares = new SqlParameter("StuId", s);
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(pares);
                    count += cmd.ExecuteNonQuery();
                }
                trans.Commit();
            }
            catch (Exception ex)
            {
                trans.Rollback();
                MessageBox.Show(ex.Message, "错误提示");
                return;
            }
        }
        if (count == list.Count)
        {
            //手动刷新界面显示
            DataTable data = studentList.DataSource as DataTable;
            string idStr = string.Join(",", list);
            DataRow[] rows = data.Select("StuId in (" + idStr + ")");
            foreach(DataRow row in rows)
            {
                data.Rows.Remove(row);
            }
            studentList.DataSource = data;
            MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            return;
        }
    }
    // 刷新datagridview显示
    studentList.Refresh();
}

 

 

标签:批量,int,list,cmd,SqlServer,DataGridView,studentList,StuId,conn
From: https://www.cnblogs.com/tlfe/p/18201980

相关文章

  • (文件[夹]批量分类整理_多级匹配_交叉匹配_路径结构交叉调整)文件[夹]批量复制
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z需要先看之前发布的文章: 《如何批量复制多个文件到多个目录中(提取匹配法)》原理:对来源路径和终点路径  多次提取出关键词,再自由组合成 匹配词 情景再现:我这里有8张图片,模拟要整理的文件,路径分别如下:C......
  • SqlServer资料
    SqlServer内存资源释放   SqlServer内存会话连接   SqlServer连接池   SqlServer并行基础用法与常见问题   SQLServer创建索引   还原或删除数据独占访问权  比较char/varchar/nchar/nvarchar区别 还原失败System.Data.SqlClient.SqlError:无法执行BACK......
  • 配置SQLServer远程连接
    要在SQLServer上启用远程连接,需要执行以下步骤:1、确保SQLServer已启用远程连接:登录到SQLServer所在的计算机上。打开SQLServerManagementStudio(SSMS)。使用Windows身份验证或SQLServer身份验证登录SQLServer。在左侧的对象资源管理器中,右键单击服务......
  • 如何把多个文件(夹)向上移动1层(或多层)(在批量复制前或后进行)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 假定情况是,我要把下图里的4个文件夹内部的全部文件,合并到04的当前位置来(4个文件夹里面各有5个兔兔的图片)打开工具,切换到文件批量复制版块找到右下角的更多,点击,来设置上移的情况勾选“来源路径”向上......
  • sqlserver03
    1、开始→程序→MicrosoftSQLServer→SQLServerManagementStdio。2、在“连接到服务器”对话框中,选择“Windows身份验证”,点击“连接”,进入SQLServerManagementStdio操作界面。3、数据库的安全性实验:设置SQLServer的安全认证模式,实现对SQLServer的用户和角......
  • 七牛云文件批量上传加单个上传和下载
    第一步:先在七牛云官网注册一个账号然后点击对象存储-空间管理-新建空间创建一个存储空间创建好之后就完成了第一步可以往里面放东西了第二步:打开你的VS创建一个类改成静态类方便外部调用写一个静态的方法///<summary>///上传文件类///</summary>public......
  • sqlserver02
    1、开始→程序→MicrosoftSQLServer→SQLServerManagementStudio。2、在“连接到服务器”对话框中,选择“Windows身份验证”,点击“连接”,进入SQLServerManagementStudio操作界面。3、单击“新建查询”按钮,在上部的空白区导入文件“实验二SQL语句.doc”中的SQL......
  • navicat怎么连接sqlserver
    1.打开SQLServer配置管理器点击SQLServer网络配置、把协议保持启用,如果默认已启用就不用管;把IP地址里的IPAll里的TCP端口改为1433(SQLServer的端口是1433,Mysql的是3306);检查SQLNativeClient11.0的配置,确认协议也在开启,端口为1433;SQLServer的名称这里的服务器名称就是主机名......
  • 利用python脚本批量读取当前目录下所有excle表格中特定的单元格内容
    利用python脚本批量读取当前目录下所有excle表格中特定的单元格内容importosfromopenpyxlimportload_workbook#设置要读取的单元格地址cell_address='N18'#遍历当前目录下的所有文件forfilenameinos.listdir('.'):iffilename.endswith(......
  • 利用python脚本批量替换当前目录下所有excle表格中特定的单元格内容
    利用python脚本批量替换当前目录下所有excle表格中特定的单元格内容#导入os模块,用于文件和目录操作importos#导入openpyxl库中的load_workbook函数,用于加载Excel文件fromopenpyxlimportload_workbook#定义一个函数replace_cell_content,用于替换Exc......