Language

SqlParameter Class

Definition

Represents a parameter to a SqlCommand and optionally its mapping to DataSet columns. This class cannot be inherited. For more information on parameters, see Configuring Parameters and Parameter Data Types.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

public ref class SqlParameter sealed : System::Data::Common::DbParameter
public ref class SqlParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class SqlParameter sealed : System::Data::Common::DbParameter, ICloneable
public sealed class SqlParameter : System.Data.Common.DbParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlParameterConverter))]
public sealed class SqlParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlParameter+SqlParameterConverter))]
public sealed class SqlParameter : System.Data.Common.DbParameter, ICloneable
type SqlParameter = class
    inherit DbParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlParameterConverter))>]
type SqlParameter = class
    inherit MarshalByRefObject
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlParameter+SqlParameterConverter))>]
type SqlParameter = class
    inherit DbParameter
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
Public NotInheritable Class SqlParameter
Inherits DbParameter
Public NotInheritable Class SqlParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class SqlParameter
Inherits DbParameter
Implements ICloneable
Inheritance
SqlParameter
Inheritance
Inheritance
SqlParameter
Attributes
Implements

Examples

The following example creates multiple instances of SqlParameter through the SqlParameterCollection collection within the SqlDataAdapter. These parameters are used to select data from the data source and put the data in the DataSet. This example assumes that a DataSet and a SqlDataAdapter have already been created by using the appropriate schema, commands, and connection. For more information and additional examples on using parameters, see Retrieving and Modifying Data in ADO.NET and Configuring Parameters and Parameter Data Types.

public void AddSqlParameters()
{
// ...
// create categoriesDataSet and categoriesAdapter
// ...

  categoriesAdapter.SelectCommand.Parameters.Add(
    "@CategoryName", SqlDbType.VarChar, 80).Value = "toasters";
  categoriesAdapter.SelectCommand.Parameters.Add(
    "@SerialNum", SqlDbType.Int).Value = 239;
  categoriesAdapter.Fill(categoriesDataSet);
}
Public Sub AddSqlParameters()
    ' ...
    ' create categoriesDataSet and categoriesAdapter
    ' ...
    categoriesAdapter.SelectCommand.Parameters.Add( _
        "@CategoryName", SqlDbType.VarChar, 80).Value = "toasters"
    categoriesAdapter.SelectCommand.Parameters.Add( _
        "@SerialNum", SqlDbType.Int).Value = 239
    
    categoriesAdapter.Fill(categoriesDataSet)
End Sub

Remarks

Parameter names are not case sensitive.

Note

Nameless, also called ordinal, parameters are not supported by the .NET Framework Data Provider for SQL Server.

For more information, along with additional sample code demonstrating how to use parameters, see Commands and Parameters.

Constructors

Name Description
SqlParameter()

Initializes a new instance of the SqlParameter class.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlParameter(String, Object)

Initializes a new instance of the SqlParameter class that uses the parameter name and a value of the new SqlParameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlParameter(String, SqlDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

Initializes a new instance of the SqlParameter class that uses the parameter name, the type of the parameter, the size of the parameter, a ParameterDirection, the precision of the parameter, the scale of the parameter, the source column, a DataRowVersion to use, and the value of the parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlParameter(String, SqlDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object, String, String, String)

Initializes a new instance of the SqlParameter class that uses the parameter name, the type of the parameter, the length of the parameter the direction, the precision, the scale, the name of the source column, one of the DataRowVersion values, a Boolean for source column mapping, the value of the SqlParameter, the name of the database where the schema collection for this XML instance is located, the owning relational schema where the schema collection for this XML instance is located, and the name of the schema collection for this parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlParameter(String, SqlDbType, Int32, String)

Initializes a new instance of the SqlParameter class that uses the parameter name, the SqlDbType, the size, and the source column name.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlParameter(String, SqlDbType, Int32)

Initializes a new instance of the SqlParameter class that uses the parameter name, the SqlDbType, and the size.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlParameter(String, SqlDbType)

Initializes a new instance of the SqlParameter class that uses the parameter name and the data type.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Properties

Name Description
CompareInfo

Gets or sets the CompareInfo object that defines how string comparisons should be performed for this parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

DbType

Gets or sets the SqlDbType of the parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Direction

Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

ForceColumnEncryption

Enforces encryption of a parameter when using Always Encrypted. If SQL Server informs the driver that the parameter does not need to be encrypted, the query using the parameter will fail. This property provides additional protection against security attacks that involve a compromised SQL Server providing incorrect encryption metadata to the client, which may lead to data disclosure.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

IsNullable

Gets or sets a value that indicates whether the parameter accepts null values. IsNullable is not used to validate the parameter's value and will not prevent sending or receiving a null value when executing a command.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

LocaleId

Gets or sets the locale identifier that determines conventions and language for a particular region.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Offset

Gets or sets the offset to the Value property.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

ParameterName

Gets or sets the name of the SqlParameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Precision

Gets or sets the maximum number of digits used to represent the Value property.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Scale

Gets or sets the number of decimal places to which Value is resolved.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Size

Gets or sets the maximum size, in bytes, of the data within the column.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SourceColumn

Gets or sets the name of the source column mapped to the DataSet and used for loading or returning the Value.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SourceColumnNullMapping

Gets or sets a value that indicates whether the source column is nullable. This allows SqlCommandBuilder to correctly generate Update statements for nullable columns.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SourceVersion

Gets or sets the DataRowVersion to use when you load Value.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlDbType

Gets or sets the SqlDbType of the parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

SqlValue

Gets or sets the value of the parameter as an SQL type.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

TypeName

Gets or sets the type name for a table-valued parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

UdtTypeName

Gets or sets a string that represents a user-defined type as a parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Value

Gets or sets the value of the parameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

XmlSchemaCollectionDatabase

Gets the name of the database where the schema collection for this XML instance is located.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

XmlSchemaCollectionName

Gets the name of the schema collection for this XML instance.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

XmlSchemaCollectionOwningSchema

The owning relational schema where the schema collection for this XML instance is located.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Methods

Name Description
CreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()
Obsolete.

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService()
Obsolete.

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ResetDbType()

Resets the type associated with this SqlParameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

ResetSqlDbType()

Resets the type associated with this SqlParameter.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

ToString()

Gets a string that contains the ParameterName.

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

Explicit Interface Implementations

Name Description
ICloneable.Clone()

For a description of this member, see Clone().

For new development, use Microsoft.Data.SqlClient. This page documents System.Data.SqlClient.

IDataParameter.SourceVersion

Gets or sets the DataRowVersion to use when loading Value.

(Inherited from DbParameter)
IDbDataParameter.Precision

Indicates the precision of numeric parameters.

(Inherited from DbParameter)
IDbDataParameter.Scale

For a description of this member, see Scale.

(Inherited from DbParameter)

Applies to

See also