首页 / 教程列表 / C#+ADO.NET数据库入门教程 / C#+ADO.NET实现对SQL Server数据库的写入、更新、删除数据操作

C#+ADO.NET实现对SQL Server数据库的写入、更新、删除数据操作

643 更新于: 2021-10-11 读完约需 5 分钟

概述

上节《C#+ADO.NET读取MSSQL Server数据库中的数据》中,我们学习了在C#控制台应用程序中通过ADO.NET读取MSSQL Server数据库中数据的两种主要方式,分别是:通过DataReader读取和通过DataSet读取。

本节我们继续《C#+ADO.NET数据库入门教程》系列之《C#+ADO.NET实现对SQL Server数据库的写入、更新、删除数据操作》,一起学习在C#+.NET 5控制台应用程序中完成对SQL Server数据库的写入(增)、更新(改)、删除(删)基本操作。

Command对象

在C#应用程序中,要使用ADO.NET将数据写入SQL Server数据库,需要用到Command的SQL实现,即SqlCommand对象。Command对象是使用ADO.NET进行数据处理的核心。一个Command实例对象包含了一条(多条)SQL语句或一个存储过程的调用,比如,你可以使用Command对象去执行包含INSERT, UPDATE, DELETE或者SELECT的SQL语句。要vtf的语句均存放在Command实例对象的数据类型为字符串的CommandText属性中。

SqlCommand类提供了4个构造函数,如下:

从上图看出,实例化一个用于操作SQL Server数据库的SqlCommand对象,可以使用默认构造函数,也可以传入有参的构造函数,比如SQL语句字符串、数据库连接对象、SQL事务对象等,示例如下:

如果实例化SqlCommand对象时未指定CommandText参数,则要在实例对象上显式指定CommandText的值。

SqlCommand实例还提供了三个执行SQL语句的方法,分别为:ExecuteNonQuery, ExecuteReader, ExecuteScalar,其中:

  • ExecuteNonQuery:执行一个SQL语句并返回影响的行数
  • ExecuteReader:创建一个SqlDataReader对象
  • ExecuteScalar:执行一个SQL查询并返回结果集中第一行第一列的值,其他值将被忽略

使用ADO.NET将数据写入SQL Server数据库

在熟悉了SqlCommand对象之后,我们使用SqlCommand将数据写入SQL Server数据库,示例如下:

程序运行结果为:

打开SQL Server数据库查看结果,如图:

可以看到,在SQL Server数据库的Customer表中,ID为1001的记录即为上面程序成功写入的数据。

使用ADO.NET更新SQL Server数据库的数据

与写入数据类似,使用ADO.NET更新SQL Server数据库的数据也要使用SqlCommand对象,只是CommandText的SQL语句不同而已。
现在,我们来更新刚才写入的ID为1001的数据,将GivenName的值修改为老师Email修改为rector@codedefault.com,示例代码如下:

运行结果为:

再次查看SQL Server数据库Customer表中的数据,如下:

说明,C#程序中使用ADO.NET更新SQL Server数据库记录成功。

使用ADO.NET删除SQL Server数据库的数据

同样的,C#程序中使用ADO.NET删除SQL Server数据库指定数据的方法也是通过SqlCommand对象执行SQL语句来完成的,只需将CommandText的SQL语句修改成SQL的删除语句即可,示例代码如下:

运行结果为:

请自行打开SQL Server数据查看Id为1001的记录是否还存在于数据表Customer中。

特别注意:在编写SQL的更新和删除语句时,请一定注意SQL的WHERE条件,条件错误将导致数据更新错乱或误删数据等严重后果。

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

发表评论

登录用户才能发表评论, 请 登 录 或者 注册