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();
}
}