ExecuteNonQuery() 返回受影响的意外行数 C#

作者:编程家 分类: sqlserver 时间:2025-09-09

使用C#编程语言时,我们经常会遇到需要执行数据库操作的情况。在执行数据库操作时,有时我们需要知道执行操作后受影响的行数。C#中提供了一个方法叫做ExecuteNonQuery(),它可以用来执行对数据库的增、删、改等操作,并返回受影响的行数。

ExecuteNonQuery()方法的作用

ExecuteNonQuery()方法属于ADO.NET中的SqlCommand类的方法之一。它用于执行对数据库的非查询操作,例如插入、删除、更新数据等。ExecuteNonQuery()方法执行完毕后,会返回一个表示受影响的行数的整数值。

案例代码

下面是一个简单的案例代码,演示了如何使用ExecuteNonQuery()方法来执行一个插入操作,并输出受影响的行数:

csharp

using System;

using System.Data.SqlClient;

class Program

{

static void Main()

{

string connectionString = "Data Source=(local);Initial Catalog=TestDB;Integrated Security=True";

string insertQuery = "INSERT INTO Customers (Name, Age) VALUES ('John Doe', 25)";

using (SqlConnection connection = new SqlConnection(connectionString))

{

SqlCommand command = new SqlCommand(insertQuery, connection);

try

{

connection.Open();

int rowsAffected = command.ExecuteNonQuery();

Console.WriteLine("受影响的行数:{0}", rowsAffected);

}

catch (Exception ex)

{

Console.WriteLine("执行插入操作时发生错误:{0}", ex.Message);

}

}

}

}

在上面的代码中,首先定义了一个连接字符串 connectionString,用于连接到数据库。然后定义了一个插入语句 insertQuery,用于向名为Customers的表中插入一条记录。接下来,在using语句块中创建了一个SqlConnection对象 connection,并传入连接字符串。然后创建了一个SqlCommand对象 command,并传入插入语句和连接对象。在try块中,首先调用connection.Open()方法打开数据库连接,然后调用command.ExecuteNonQuery()方法执行插入操作,并将返回的受影响的行数存储在变量 rowsAffected 中。最后,输出受影响的行数。

ExecuteNonQuery()方法的返回值

ExecuteNonQuery()方法返回的是一个表示受影响的行数的整数值。如果执行操作成功,并且有记录受到了影响,则返回的值大于等于1。如果执行操作成功,但没有记录受到影响,则返回的值为0。如果执行操作失败,则会抛出一个异常。

ExecuteNonQuery()方法是C#中用于执行对数据库的非查询操作的方法。通过调用该方法,我们可以执行插入、删除、更新等操作,并获取受影响的行数。在本文中,我们通过一个简单的案例代码演示了如何使用ExecuteNonQuery()方法来执行一个插入操作,并输出受影响的行数。希望本文对你理解ExecuteNonQuery()方法有所帮助。