SqlCommand.CommandText Property

Definition

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

C#
public override string CommandText { get; set; }
C#
[System.Data.DataSysDescription("DbCommand_CommandText")]
public string CommandText { get; set; }

Property Value

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

Implements

Attributes

Examples

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

C#
public void CreateCommand()
 {
    SqlCommand command = new SqlCommand();
    command.CommandText = "SELECT * FROM Categories ORDER BY CategoryID";
    command.CommandTimeout = 15;
    command.CommandType = CommandType.Text;
 }

Remarks

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:

SQL
SELECT * FROM dbo.Customers WHERE CustomerID = @CustomerID

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

Applies to

Product Versions
.NET Core 1.0, Core 1.1, 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

See also