.NET Framework Class Library
DataContext..::.ExecuteCommand Method

Executes SQL commands directly on the database.

Namespace:  System.Data.Linq
Assembly:  System.Data.Linq (in System.Data.Linq.dll)
Syntax

Visual Basic (Declaration)
Public Function ExecuteCommand ( _
    command As String, _
    ParamArray parameters As Object() _
) As Integer
Visual Basic (Usage)
Dim instance As DataContext
Dim command As String
Dim parameters As Object()
Dim returnValue As Integer

returnValue = instance.ExecuteCommand(command, _
    parameters)
C#
public int ExecuteCommand(
    string command,
    params Object[] parameters
)
Visual C++
public:
int ExecuteCommand(
    String^ command, 
    ... array<Object^>^ parameters
)
JScript
public function ExecuteCommand(
    command : String, 
    ... parameters : Object[]
) : int

Parameters

command
Type: System..::.String
The SQL command to be executed.
parameters
Type: array<System..::.Object>[]()[]
The array of parameters to be passed to the command. Note the following behavior:
  • If the number of objects in the array is less than the highest number identified in the command string, an exception is thrown.

  • If the array contains objects that are not referenced in the command string, no exception is thrown.

  • If any one of the parameters is null, it is converted to DBNull.Value.

Return Value

Type: System..::.Int32
An int representing the number of rows modified by the executed command.
Remarks

This method is a pass-through mechanism for cases where LINQ to SQL does not adequately provide for a particular scenario.

The syntax for the command is almost the same as the syntax used to create an ADO.NET DataCommand. The only difference is in how the parameters are specified. Specifically, you specify parameters by enclosing them in braces ({…}) and enumerate them starting from 0. The parameter is associated with the equally numbered object in the parameters array.

The following example opens a connection and passes a SQL UPDATE command to the SQL engine.

Examples

Visual Basic
    db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")
C#
db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5
See Also

Reference

Tags :


Community Content

HowardRichards
Known bug
There is a known bug with ExecuteCommand, where null parameter values are not handled correctly.

see
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=305114

Tags : bug

Peter Herschel
Parameters

In C# enumerate parameters from 0. Ex: where PostDate > {0}

Don't use SqlParameters, rather regular types like DateTime, etc...


Bopoha
Bug in Remarks?
"The only difference is in how the parameters are specified. Specifically, you specify parameters by enclosing them in braces ({…}) and enumerate them starting from 0"
Tags : remarks

Rocketeer
Parameters Array
I would just like to say, thanks for the example of the use of parameters. Are the parameters basically a string.Format function list of parameters for the command string? Is that all we get with a parameters array is an assumed string.Format of the command string?
Tags :

Page view tracker