DataContext.ExecuteCommand(String, Object[]) 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í.
Spouští 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, na které se v příkazovém řetězci neodkazuje, nedochází k žádné výjimce.
Pokud má některý z parametrů hodnotu null, převede se na DBNull.Value
.
Návraty
Počet řádků upravených spuštěným příkazem.
Příklady
Následující příklad otevře připojení a předá do modulu SQL příkaz SQL UPDATE
.
db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")
Poznámky
Tato metoda je předávací 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í ADO.NET DataCommand
. Jediným rozdílem je způsob zadání parametrů. Konkrétně zadáte parametry tak, že je uzavřete do závorek ({...}) a vypíšete je od 0. Parametr je přidružen k objektu se stejným číslem v poli parametrů.
ExecuteQuery
a ExecuteCommand
umožňují zadat proměnný počet argumentů pro nahrazení parametrů. Parametry můžete zadat například při vyvolání příkazu ExecuteQuery<TResult>:
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)