DataContext.ExecuteCommand(String, Object[]) Yöntem

Tanım

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 DataCommandoluş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)

Şunlara uygulanır