SqlCommand.ExecuteNonQuery Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí příkaz Transact-SQL pro připojení a vrátí počet ovlivněných řádků.
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
Návraty
Počet ovlivněných řádků
Implementuje
Výjimky
SqlDbType Jiný než Binary nebo VarBinary byl použit při Value nastavení Stream. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
nebo
SqlDbType Jiná hodnota než Char, NChar, NVarChar, VarChar nebo Xml byla použita při Value nastavení TextReader.
nebo
SqlDbType Jiná než Xml byla použita při Value nastavení na XmlReaderhodnotu .
Při provádění příkazu na uzamčený řádek došlo k výjimce. Tato výjimka není generována při použití rozhraní Microsoft .NET Framework verze 1.0.
nebo
Během operace streamování došlo k vypršení časového limitu. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Během operace streamování došlo k chybě nebo StreamXmlReaderTextReader objektu. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Zavřený SqlConnection nebo ukončený během operace streamování. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Stream Objekt XmlReadernebo TextReader objekt byl uzavřen během operace streamování. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Příklady
Následující příklad vytvoří SqlCommand a pak ji spustí pomocí ExecuteNonQuery. Příklad je předán řetězec, který je příkazem Transact-SQL (například UPDATE, INSERT nebo DELETE) a řetězcem, který se má použít pro připojení ke zdroji dat.
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
Poznámky
Můžete použít ExecuteNonQuery k provádění operací katalogu (například dotazování struktury databáze nebo vytváření databázových objektů, jako jsou tabulky), nebo ke změně dat v databázi bez použití DataSet příkazu UPDATE, INSERT nebo DELETE.
ExecuteNonQuery Přestože se nevrátí žádné řádky, žádné výstupní parametry nebo návratové hodnoty mapované na parametry se naplní daty.
U příkazů UPDATE, INSERT a DELETE je vrácená hodnota počet řádků ovlivněných příkazem. U všech ostatních typů příkazů je návratová hodnota -1.
Pokud v tabulce, která se vkládá nebo aktualizuje, aktivační událost obsahuje počet řádků ovlivněných operací vložení nebo aktualizace a počet řádků ovlivněných triggerem nebo aktivačními událostmi.
Pokud je funkce SET NOCOUNT ON nastavena na připojení (před nebo jako součást provádění příkazu, nebo jako součást triggeru iniciovaného spuštěním příkazu) řádky ovlivněné jednotlivými příkazy přestanou přispívat k počtu ovlivněných řádků, které tato metoda vrací.
Pokud nejsou zjištěny žádné příkazy, které přispívají k počtu, návratová hodnota je -1. Pokud dojde ke zpětnému vrácení zpět, návratová hodnota je také -1.