Udostępnij za pośrednictwem


SqlCommand.ExecuteNonQuery Metoda

Definicja

Wykonuje instrukcję Języka Transact-SQL względem połączenia i zwraca liczbę wierszy, których dotyczy problem.

public:
 override int ExecuteNonQuery();
public:
 virtual int ExecuteNonQuery();
public override int ExecuteNonQuery ();
public int ExecuteNonQuery ();
override this.ExecuteNonQuery : unit -> int
abstract member ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
Public Overrides Function ExecuteNonQuery () As Integer
Public Function ExecuteNonQuery () As Integer

Zwraca

Liczba wierszy, których dotyczy problem.

Implementuje

Wyjątki

Użyto SqlDbType innego elementu niż Binary lub VarBinary , gdy Value ustawiono wartość Stream. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego sqlClient.

-lub-

Użyto SqlDbType innego niż Char, NChar, NVarChar, VarChar lub Xml, gdy Value ustawiono wartość TextReader.

-lub-

Inny SqlDbType niż Xml był używany, gdy Value ustawiono wartość XmlReader.

Wystąpił wyjątek podczas wykonywania polecenia względem zablokowanego wiersza. Ten wyjątek nie jest generowany podczas korzystania z usługi Microsoft .NET Framework w wersji 1.0.

-lub-

Wystąpił limit czasu podczas operacji przesyłania strumieniowego. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego sqlClient.

Wystąpił błąd w StreamXmlReader obiekcie lub TextReader podczas operacji przesyłania strumieniowego. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego sqlClient.

Zamknięty SqlConnection lub porzucony podczas operacji przesyłania strumieniowego. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego sqlClient.

XmlReader Obiekt Streamlub TextReader został zamknięty podczas operacji przesyłania strumieniowego. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego sqlClient.

Przykłady

Poniższy przykład tworzy obiekt , SqlCommand a następnie wykonuje go przy użyciu polecenia ExecuteNonQuery. Przykład jest przekazywany ciąg, który jest instrukcją Języka Transact-SQL (taką jak UPDATE, INSERT lub DELETE) i ciągiem używanym do nawiązywania połączenia ze źródłem danych.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        command.Connection.Open()
        command.ExecuteNonQuery()
    End Using
End Sub

Uwagi

Za pomocą polecenia ExecuteNonQuery można wykonywać operacje wykazu (na przykład wykonywanie zapytań dotyczących struktury bazy danych lub tworzenie obiektów bazy danych, takich jak tabele), lub zmianę danych w bazie danych bez użycia za pomocą DataSet instrukcji UPDATE, INSERT lub DELETE.

Chociaż funkcja ExecuteNonQuery nie zwraca żadnych wierszy, wszystkie parametry wyjściowe lub zwracane wartości mapowane na parametry są wypełniane danymi.

W przypadku instrukcji UPDATE, INSERT i DELETE zwracana wartość to liczba wierszy, których dotyczy polecenie. Dla wszystkich innych typów instrukcji zwracana wartość to -1.

Gdy wyzwalacz istnieje w tabeli wstawionej lub zaktualizowanej, wartość zwracana zawiera liczbę wierszy, których dotyczy operacja wstawiania lub aktualizacji oraz liczba wierszy, których dotyczy wyzwalacz lub wyzwalacze.

Gdy USTAWIENIE FUNKCJI NOCOUNT JEST ustawione na połączeniu (przed wykonaniem polecenia lub w ramach wykonywania polecenia lub w ramach wyzwalacza zainicjowanego przez wykonanie polecenia), wiersze, których dotyczy poszczególne instrukcje, przestają przyczyniać się do liczby wierszy, których dotyczy ta metoda.

Jeśli nie wykryto instrukcji, które przyczyniają się do liczby, zwracana wartość to -1. Jeśli nastąpi wycofanie, zwracana wartość to również -1.

Dotyczy

Zobacz też