SqlCommand.ExecuteNonQuery Metódus

Definíció

Végrehajt egy Transact-SQL utasítást a kapcsolaton, és visszaadja az érintett sorok számát.

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

Válaszok

Az érintett sorok száma.

Megvalósítás

Kivételek

A SqlDbTypebináristól vagy a VarBinarytól eltérő függvényt használt a rendszer, amikor Value a beállítás értéke Stream. A streamelésről további információt az SqlClient streamelési támogatásában talál.

-vagy-

A SqlDbTypechar, NChar, NVarChar, VarChar vagy Xml kivételével más is használható volt a beállításnál ValueTextReader.

-vagy-

Az SqlDbTypeXml-fájltól eltérő érték lett használva a ValuebeállításkorXmlReader.

Kivétel történt a parancs zárolt soron való végrehajtása során. Ez a kivétel nem jön létre Microsoft .NET Framework 1.0-s verziójának használatakor.

-vagy-

Időtúllépés történt egy streamelési művelet során. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Hiba történt egy Stream, XmlReader vagy TextReader objektumban egy streamelési művelet során. A streamelésről további információt az SqlClient streamelési támogatásában talál.

A SqlConnection streamelési művelet során bezárt vagy elvetett. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Az Stream, XmlReader vagy TextReader objektum egy streamelési művelet során lett bezárva. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Példák

Az alábbi példa létrehoz egy SqlCommand , majd végrehajtja azt a használatával ExecuteNonQuery. A példa egy Transact-SQL utasítást (például UPDATE, INSERT vagy DELETE) tartalmazó sztringet, valamint egy olyan sztringet ad át, amely az adatforráshoz való csatlakozáshoz használható.

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

Megjegyzések

A használatával ExecuteNonQuery katalógusműveleteket hajthat végre (például lekérdezheti az adatbázis struktúráját, vagy adatbázis-objektumokat, például táblákat hozhat létre), vagy módosíthatja az adatbázisban lévő adatokat az UPDATE, INSERT vagy DELETE utasítások végrehajtása nélkül DataSet .

Bár a ExecuteNonQuery visszaadott értékek nem adnak vissza sorokat, a paraméterekhez hozzárendelt kimeneti paraméterek vagy visszatérési értékek adatokkal vannak feltöltve.

AZ UPDATE, INSERT és DELETE utasítás esetén a visszatérési érték a parancs által érintett sorok száma. Minden más típusú utasítás esetén a visszatérési érték -1.

Ha egy eseményindító található egy beszúrt vagy frissített táblán, a visszatérési érték tartalmazza a beszúrási vagy frissítési művelet által érintett sorok számát, valamint az eseményindító vagy eseményindító által érintett sorok számát.

Ha a NOCOUNT ON beállítása a kapcsolaton (a parancs végrehajtása előtt vagy részeként, vagy a parancs végrehajtása által kezdeményezett eseményindító részeként) van beállítva, az egyes utasítások által érintett sorok nem járulnak hozzá a metódus által visszaadott sorok számához.

Ha nem észlelhető olyan utasítás, amely hozzájárul a darabszámhoz, a visszatérési érték -1. Visszaállítás esetén a visszatérési érték is -1.

A következőre érvényes:

Lásd még