Dela via


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.

public ref class SqlParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(Microsoft.Data.SqlClient.SqlParameter+SqlParameterConverter))]
public sealed class SqlParameter : System.Data.Common.DbParameter, ICloneable
public sealed class SqlParameter : System.Data.Common.DbParameter, ICloneable
[<System.ComponentModel.TypeConverter(typeof(Microsoft.Data.SqlClient.SqlParameter+SqlParameterConverter))>]
type SqlParameter = class
    inherit DbParameter
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
type SqlParameter = class
    inherit DbParameter
    interface IDataParameter
    interface IDbDataParameter
    interface ICloneable
Public NotInheritable Class SqlParameter
Inherits DbParameter
Implements ICloneable
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.

using Microsoft.Data.SqlClient;
using System.Xml;
using System.Data.Common;
using System.Windows.Forms;

public class Form1 : Form
{
    protected DataSet categoriesDataSet;
    protected DataGrid dataGrid1;
    protected SqlDataAdapter categoriesAdapter;


    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);

    }
}

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

SqlParameter()

Initializes a new instance of the SqlParameter class.

SqlParameter(String, Object)

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

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.

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.

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.

SqlParameter(String, SqlDbType, Int32)

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

SqlParameter(String, SqlDbType)

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

Properties

CompareInfo

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

DbType

Gets or sets the SqlDbType of the parameter.

Direction

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

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.

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.

LocaleId

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

Offset

Gets or sets the offset to the Value property.

ParameterName

Gets or sets the name of the SqlParameter.

Precision

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

Scale

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

Size

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

SourceColumn

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

SourceColumnNullMapping

Sets or gets a value which indicates whether the source column is nullable. This allows SqlCommandBuilder to correctly generate Update statements for nullable columns.

SourceVersion

Gets or sets the DataRowVersion to use when you load Value

SqlDbType

Gets or sets the SqlDbType of the parameter.

SqlValue

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

TypeName

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

UdtTypeName

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

Value

Gets or sets the value of the parameter.

XmlSchemaCollectionDatabase

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

XmlSchemaCollectionName

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

XmlSchemaCollectionOwningSchema

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

Methods

ResetDbType()

Resets the type associated with this SqlParameter.

ResetSqlDbType()

Resets the type associated with this SqlParameter.

ToString()

Gets a string that contains the ParameterName.

Explicit Interface Implementations

ICloneable.Clone()

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

Applies to

See also