SqlCommand.CommandText Property


Gets or sets the Transact-SQL statement, table name or stored procedure to execute at the data source.

 virtual property System::String ^ CommandText { System::String ^ get(); void set(System::String ^ value); };
 property System::String ^ CommandText { System::String ^ get(); void set(System::String ^ value); };
public override string CommandText { get; set; }
public string CommandText { get; set; }
member this.CommandText : string with get, set
Public Overrides Property CommandText As String
Public Property CommandText As String

Property Value


The Transact-SQL statement or stored procedure to execute. The default is an empty string.




The following example creates a SqlCommand and sets some of its properties.

public void CreateCommand()
    SqlCommand command = new SqlCommand();
    command.CommandText = "SELECT * FROM Categories ORDER BY CategoryID";
    command.CommandTimeout = 15;
    command.CommandType = CommandType.Text;
Public Sub CreateCommand()
    Dim command As New SqlCommand()
    command.CommandText = "SELECT * FROM Categories ORDER BY CategoryID"
    command.CommandTimeout = 15
    command.CommandType = CommandType.Text
End Sub 


When the CommandType property is set to StoredProcedure, the CommandText property should be set to the name of the stored procedure. The user may be required to use escape character syntax if the stored procedure name contains any special characters. The command executes this stored procedure when you call one of the Execute methods.

The Microsoft .NET Framework Data Provider for SQL Server does not support the question mark (?) placeholder for passing parameters to a Transact-SQL statement or a stored procedure called by a command of CommandType.Text. In this case, named parameters must be used. For example:

SELECT * FROM dbo.Customers WHERE CustomerID = @CustomerID  

For more information, see Configuring Parameters and Parameter Data Types.

Applies to

See also