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