DataContext.ExecuteCommand(String, Object[]) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SQL komutlarını doğrudan veritabanında yürütür.
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
Parametreler
- command
- String
Yürütülecek SQL komutu.
- parameters
- Object[]
Komutuna geçirilecek parametre dizisi. Aşağıdaki davranışa dikkat edin:
Dizideki nesne sayısı, komut dizesinde tanımlanan en yüksek sayıdan küçükse, bir özel durum oluşturulur.
Dizi, komut dizesinde başvurulmayan nesneler içeriyorsa, hiçbir özel durum oluşturulur.
Parametrelerden herhangi biri null ise, değerine dönüştürülür DBNull.Value
.
Döndürülenler
Yürütülen komut tarafından değiştirilen satır sayısı.
Örnekler
Aşağıdaki örnek bir bağlantı açar ve SQL altyapısına bir SQL UPDATE
komutu iletir.
db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")
Açıklamalar
Bu yöntem, LINQ to SQL belirli bir senaryo için yeterli düzeyde sağlamadığı durumlar için bir geçiş mekanizmasıdır.
Komutun söz dizimi, ADO.NET DataCommand
oluşturmak için kullanılan söz dizimi ile neredeyse aynıdır. Tek fark, parametrelerin nasıl belirtildiğidir. Özellikle, parametreleri küme ayracı ({...}) içine alarak belirtir ve 0'dan başlayarak numaralandırırsınız. parametresi, parameters dizisindeki eşit numaralandırılmış nesneyle ilişkilendirilir.
ExecuteQuery
ve ExecuteCommand
parametre değişimi için değişken sayıda bağımsız değişken belirtmenize olanak sağlar. Örneğin, ExecuteQuery<TResult> çağrılırken parametreleri belirtebilirsiniz:
db.ExecuteQuery<Customer>("SELECT * FROM dbo.Customers WHERE City = {0}", "London");
db.ExecuteQuery(Of Customer)("SELECT * FROM dbo.Customers WHERE City = {0}", "London")
Ve başka bir örnek:
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)