次の方法で共有


DataContext.ExecuteCommand(String, Object[]) メソッド

定義

データベース上で SQL コマンドを直接実行します。

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

パラメーター

command
String

実行する SQL コマンド。

parameters
Object[]

コマンドに渡すパラメーターの配列。 以下の動作に注意してください。

配列内のオブジェクトの数が、コマンド文字列で特定された最大数より小さい場合、例外がスローされます。

配列にコマンド文字列で参照されないオブジェクトが含まれている場合、例外はスローされません。

パラメーターのいずれかが null の場合、DBNull.Value に変換されます。

戻り値

コマンドの実行によって変更された行の数。

次の例では、接続を開き、SQL コマンドを SQL UPDATE エンジンに渡します。

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

注釈

このメソッドは、特定のシナリオに対してLINQ to SQLが適切に提供されない場合のパススルー メカニズムです。

コマンドの構文は、ADO.NET DataCommandを作成するために使用される構文とほぼ同じです。 唯一の違いは、パラメーターの指定方法です。 具体的には、パラメーターを中かっこ ({...}) で囲んで指定し、0 から列挙します。 パラメーターは、parameters 配列内の等しい番号のオブジェクトに関連付けられます。

ExecuteQuery および ExecuteCommand を使用すると、パラメーターの置換に可変数の引数を指定できます。 たとえば、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")

また、別の例を次に示します。

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)

適用対象