数据集中删除指定行实例

View Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;namespace PersistDeletes
{class Program{static void Main(string[] args){string connString = @"server=.;integrated security=true;database =northwind";string qry = @"select * from employees where country='UK'";string del = @"delete from employeeswhere employeeid =@employeeid";SqlConnection conn = new SqlConnection(connString);try{SqlDataAdapter da = new SqlDataAdapter();da.SelectCommand = new SqlCommand(qry, conn);DataSet ds = new DataSet();da.Fill(ds, "employees");DataTable dt = ds.Tables["employees"];SqlCommand cmd = new SqlCommand(del, conn);cmd.Parameters.Add("@employeeid", SqlDbType.Int, 4, "employeeid");string filt = @"firstname='tan' and lastname = 'ding'";foreach (DataRow row in dt.Select(filt)){row.Delete();}da.DeleteCommand = cmd;da.Update(ds, "employees");foreach (DataRow row in dt.Rows){Console.WriteLine("{0} {1} {2}", row["firstname"].ToString().PadRight(15), row["lastname"].ToString().PadLeft(25), row["city"]);}}catch(Exception e){Console.WriteLine("Error: "+e);}finally{conn.Close();}Console.ReadKey();}}}

示例说明

添加一个DELETE语句

    string del = @"
            delete from employees
            where employeeid =@employeeid";

将DELETE代码放在显示代码之前。在创建命令,映射参数后,代码如下所示:

      SqlCommand cmd = new SqlCommand(del, conn);
                cmd.Parameters.Add("@employeeid", SqlDbType.Int, 4, "employeeid");

选择要删除的行,并删除它。实际上,我们选择了名为tan ding的雇员的所有行,因为不知道这些雇员的ID。尽管我们只想选择一行,仍使用一个循环删除所有的行

      string filt = @"firstname='tan' and lastname = 'ding'";
                foreach (DataRow row in dt.Select(filt))
                {
                    row.Delete();
                }

最后,用命令设置数据适配器的DeleteCommand属性,从Employees表中删除行,该命令是在调用Upate方法时,数据适配器执行的SQL。接着在数据适配器上调用Update()方法,将变化保存在数据库中。

      da.DeleteCommand = cmd;
                da.Update(ds, "employees");

无论是删除一行还是删除多选,SQL都是参数化的,所以数据适配器会在employees数据表中查找所有已删除的行,并把对它们的所有删除操作都提交给Employees数据库表。

DeleteCommand属性---删除数据集指定的行保存到数据源中相关推荐

  1. [vue] 在使用计算属性的时,函数名和data数据源中的数据可以同名吗?

    [vue] 在使用计算属性的时,函数名和data数据源中的数据可以同名吗? 莫名其妙的问题.可以同名,但data会覆盖methods.并且本就不该同名,同名说明你命名不规范.然后解释为什么会覆盖,因为 ...

  2. python怎么读文件里的指定几行-Python从文件中读取指定的行以及在文件指定位置写入...

    Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 :This is line 1. Thi ...

  3. rstudio的数据集怎么建立和保存_R语言中怎样将自己的数据集整合到R中?怎样将多个源文件同时载入内存?...

    谢邀. 一.关于第一个问题 要考虑两个方面:数据集大小和数据集使用频率(短期暂时使用,频繁长期使用). 1.如果你的数据集不算大,或者你对这个数据集只是短期使用需求,那你可以在第一次载入数据集之后,保 ...

  4. java 删除数组指定元素_Java从在数组中删除指定元素

    package org.usc.action; import java.util.ArrayList; import java.util.Arrays; import java.util.List; ...

  5. java epub 删除一页_java如何实现批量删除pdf指定的页数

    依赖: org.apache.pdfbox pdfbox-app 1.8.10 java 用PDFBox 删除 PDF文件中的某一页,前n页,后n页,效率低,不推荐使用 package com.eve ...

  6. 订单 图片(一对多关系),地址保存在一个字段中(Json数组对象格式)

    订单---->图片(一对多关系),地址保存在一个字段中(Json数组对象格式) 1.前端列表动态添加: jsp:<form id="postForm" method=& ...

  7. 日常生活小技巧 -- Notepad++一次删除带指定关键字的行

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/89925189 一次删除带指定关键字的行 我想摘选GPS的GNSS数据.里面插 ...

  8. panda是删除行_pandas删除包含指定内容的行

    Outline 处理数据时,遇到文件中包含一些不需要的数据(行),需要把这些不符合要求的行给删除掉. 例如:该数据中应该都是2000年的数据,但是包含了一些2001年的数据,所以需要把2001年的数据 ...

  9. linux删除指定的行

    #!/bin/sh FILENAME=file.txt # 可换为$1if [ ! -f file.txt ];thenecho "$FILENAME no found"exit ...

最新文章

  1. 【C++】多线程(链式、循环队列)实现生产者消费者模式
  2. c语言socket实现ftp,C++ socket实现miniFTP
  3. atitit.人脸识别的应用场景and使用最佳实践 java .net php
  4. Sql 将多个表查询的结果进行再次查询
  5. rm: cannot remove directory `misc': Device or resource busy
  6. 【Linux】crontab 定时启动sh
  7. 块元素与行内元素转化(display属性)
  8. proteus中使用虚拟串口实现单片机和上位机通讯
  9. 【Android图像处理】图像处理之-素描效果
  10. mysql 把主键当外键_MySQL主键和外键使用及说明
  11. java开发者最常去的20个英文网站
  12. 职场小白靠这三招PDF技巧逆袭为职场达人
  13. matlab自动运行,在指定时间自动运行Matlab程序
  14. 如何导出html中的图片,一键保存网页中的全部图片
  15. PageOffice 安装使用说明
  16. python excel写入一列_python读取excel指定列数据并写入到新的excel方法
  17. C语言入门教程|| C语言 程序结构|| C语言 基本语法
  18. Unity中空气墙的制作
  19. OpenGL-使用Assimp加载3d模型
  20. 智慧农业:自动气象站

热门文章

  1. Scala-Unit6-final/type关键字、样例类样例对象
  2. MariaDB:删除数据库报错:error: 'Error dropping database (can't rmdir './shiro', errno: 39)'
  3. leveldb 文档 impl.html 阅读记录
  4. mysql学习笔记03 mysql数据类型
  5. 1947-2020 NBA总冠军次数排行榜
  6. 为什么微服务化、数据仓库都不是中台?
  7. 搜索引擎的竞价排名是怎样实现的?
  8. 在张学友演唱会的6万观众中,AI锁定了一名逃犯
  9. 面向IT专业人员的8个新兴AI工作
  10. 计算机处理负数加法,怎么让加法器实现两个负数相加