SqlCeCommand.ExecuteNonQuery Method

Выполняет инструкцию SQL для соединения SqlCeConnection и возвращает число обработанных строк.

Пространство имен: System.Data.SqlServerCe
Сборка: System.Data.SqlServerCe (в system.data.sqlserverce.dll)

Синтаксис

'Декларация
Public Overrides Function ExecuteNonQuery As Integer
public override int ExecuteNonQuery ()
public:
virtual int ExecuteNonQuery () override
public int ExecuteNonQuery ()
public override function ExecuteNonQuery () : int

Возвращаемое значение

Число обработанных строк.

Исключения

Тип исключения Условие
InvalidOperationException

Соединение не существует.

-или-

Соединение не открыто.

-или-

Не удается выполнить команду в контексте транзакции, который отличается от контекста, в котором первоначально было прикреплено соединение.

Замечания

Метод ExecuteNonQuery может применяться для выполнения операций с каталогом, например для запроса структуры базы данных или создания в ней таблиц и других объектов. Метод ExecuteNonQuery также может выполнять изменение данных в базе данных инструкциями UPDATE, INSERT или DELETE без использования объекта DataSet.

Важно!

Метод ExecuteNonQuery не поддерживает курсор и поэтому не устанавливает блокировки в базе данных. Если необходимо выполнить команду, для которой необходима блокировка, метод ExecuteNonQuery применять не следует. Вместо этого вызовите метод ExecuteReader.

Для инструкций UPDATE, INSERT и DELETE возвращается число строк, обработанных командой. Для остальных инструкций DML возвращается значение -1.

Для инструкций DDL (например CREATE TABLE или ALTER TABLE) возвращается значение 0.

zfe1f2b1.note(ru-ru,VS.90).gifПримечание.
В этом состоит отличие от System.Data.SqlClient.

Пример

В следующем примере создается объект SqlCeCommand, для которого выполняется команда вызовом метода ExecuteNonQuery. Следующему примеру передается строка, содержащая инструкцию SQL (UPDATE, INSERT или DELETE), и строка соединения с источником данных.

conn.Open()
Dim cmd As New SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn)
cmd.ExecuteNonQuery()
conn.Close()
conn.Open();
SqlCeCommand cmd = new SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn);
cmd.ExecuteNonQuery();
conn.Close();

Многопоточное использование

Все общие статические члены (Shared в Microsoft Visual Basic) этого типа можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

Платформы

Платформы разработки

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Сведения о версии
.NET Framework и NET Compact Framework
Поддерживается в версии 3.5
.NET Framework
Поддерживается в версии 3.0
.NET Compact Framework и .Net Framework
Поддерживается в версии 2.0

См. также

Справочник

SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace