RecordsAffected

Свойство содержит количество реально обработанных записей в БД после выполнения последнего SQL-запроса манипулирования данными (INSERT, DELETE, UPDATE).

Декларация
public abstract int RecordsAffected {get;};
Значение свойства

Значение типа System.Int32:

  • количество измененных, вставленных или удаленных строк;

  • количество строк в выборке данных, полученных SELECT-запросом;

    Примечание

    Поддерживается только при работе с СУБД ЛИНТЕР (для других СУБД возвращается -1).

  • 0, если строки не изменены.

Примечание

Свойству RecordsAffected значение присваивается только после закрытия соответствующего объекта DataReader.

Примечание

В текущей версии ADO.NET-провайдера свойство RecordsAffected можно использовать только для команд, содержащих один SQL-запрос (для пакета запросов, разделенных символом “;” свойство не поддерживается).

Исключения

Отсутствуют.

Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class RecordsAffectedSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString = "User ID=SYSTEM;Password=MANAGER8;Data Source=LOCAL";
    con.Open();
    // Создание объекта DbCommand
    DbCommand cmd = factory.CreateCommand();
    cmd.Connection = con;
    // Формирование текста SQL-запроса
    cmd.CommandText = "update auto set model='LADA KALINA' where make='FORD'";
    // Выполнение SQL-запроса
    DbDataReader reader = cmd.ExecuteReader();
    // Обработка результатов запроса
    reader.Close();
    Console.WriteLine("Кол-во измененных строк " + reader.RecordsAffected);
    // Освобождение ресурсов
    cmd.Dispose();
    con.Dispose();
  }
}