DataContext.ExecuteCommand(String, Object[]) Metoda

Definice

Spustí příkazy SQL přímo v databázi.

public:
 int ExecuteCommand(System::String ^ command, ... cli::array <System::Object ^> ^ parameters);
public int ExecuteCommand(string command, params object[] parameters);
member this.ExecuteCommand : string * obj[] -> int
Public Function ExecuteCommand (command As String, ParamArray parameters As Object()) As Integer

Parametry

command
String

Příkaz SQL, který se má spustit.

parameters
Object[]

Pole parametrů, které se mají předat příkazu. Všimněte si následujícího chování:

Pokud je počet objektů v poli menší než nejvyšší číslo identifikované v příkazovém řetězci, vyvolá se výjimka.

Pokud pole obsahuje objekty, které nejsou odkazovány v příkazovém řetězci, není vyvolán žádná výjimka.

Pokud některý z parametrů má hodnotu null, převede se na DBNull.Value.

Návraty

Počet řádků upravených provedeným příkazem.

Příklady

Následující příklad otevře připojení a předá příkaz SQL UPDATE modulu SQL.

db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
    db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")

Poznámky

Tato metoda je průchozí mechanismus pro případy, kdy LINQ to SQL neposkytuje adekvátně pro konkrétní scénář.

Syntaxe příkazu je téměř stejná jako syntaxe použitá k vytvoření objektu ADO.NET DataCommand. Jediným rozdílem je způsob zadání parametrů. Konkrétně zadáte parametry tak, že je uzavřete do složených závorek ({...}) a vypíšete je od 0. Parametr je přidružen k rovnoměrně číslovaný objekt v poli parametrů.

ExecuteQuery a ExecuteCommand umožňuje zadat proměnný počet argumentů pro nahrazení parametru. Při vyvolání příkazu ExecuteQuery<TResult> můžete například zadat parametry:

db.ExecuteQuery<Customer>("SELECT * FROM dbo.Customers WHERE City = {0}", "London");
db.ExecuteQuery(Of Customer)("SELECT * FROM dbo.Customers WHERE City = {0}", "London")

A další příklad:

db.ExecuteCommand("UPDATE Products SET QuantityPerUnit = {0} WHERE ProductID = {1}", "24 boxes", 5);
db.ExecuteCommand("UPDATE Products SET QuantityPerUnit = {0} WHERE ProductID = {1}", "24 boxes", 5)

Platí pro