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í.
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)