SqlParameter 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 SqlCommand 的参数,或者其与 DataSet 列的映射。 此类不能被继承。 有关参数的详细信息,请参阅配置参数和参数数据类型。
public ref class SqlParameter sealed : System::Data::Common::DbParameterpublic ref class SqlParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameterpublic ref class SqlParameter sealed : System::Data::Common::DbParameter, ICloneablepublic 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, ICloneablepublic sealed class SqlParameter : System.Data.Common.DbParameter, ICloneabletype 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 ICloneabletype SqlParameter = class
    inherit DbParameter
    interface ICloneablePublic NotInheritable Class SqlParameter
Inherits DbParameterPublic NotInheritable Class SqlParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameterPublic NotInheritable Class SqlParameter
Inherits DbParameter
Implements ICloneable- 继承
- 继承
- 继承
- 属性
- 实现
示例
以下示例通过 SqlParameterCollection 中的 SqlDataAdapter集合创建 的多个实例SqlParameter。 这些参数用于从数据源中选择数据,并将数据 DataSet放入 。 此示例假定 DataSet 已使用适当的架构、命令和连接创建了 和 SqlDataAdapter 。 有关使用参数的详细信息和其他示例,请参阅 检索和修改 ADO.NET 中的数据 和 配置参数和参数数据类型。
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
注解
参数名称不区分大小写。
注意
用于 SQL Server 的 .NET Framework 数据提供程序不支持无名称参数(也称为序号参数)。
有关详细信息,以及演示如何使用参数的其他示例代码,请参阅 命令和参数。
构造函数
| SqlParameter() | 初始化 SqlParameter 类的新实例。 | 
| SqlParameter(String, Object) | 初始化 SqlParameter 类的新实例,该类使用参数名称和新 SqlParameter 的值。 | 
| SqlParameter(String, SqlDbType) | 使用提供的参数名称和数据类型初始化 SqlParameter 类的新实例。 | 
| SqlParameter(String, SqlDbType, Int32) | 使用参数名称、SqlDbType 和大小初始化 SqlParameter 类的新实例。 | 
| SqlParameter(String, SqlDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) | 使用提供的参数名称、参数类型、参数大小、ParameterDirection、参数精度、参数小数位数、源列、要使用的 DataRowVersion 以及参数值初始化 SqlParameter 类的新实例。 | 
| SqlParameter(String, SqlDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object, String, String, String) | 使用以下信息初始化 SqlParameter 类的新实例:参数名、参数类型、参数长度、参数传递方向、参数精度、参数的范围、源列名、DataRowVersion 的一个值、源列映射的布尔值、 | 
| SqlParameter(String, SqlDbType, Int32, String) | 使用提供的参数名称、SqlDbType、大小和源列名初始化 SqlParameter 类的新实例。 | 
属性
| CompareInfo | 获取或设置 CompareInfo 对象,它定义应如何对此参数执行字符串比较。 | 
| DbType | 获取或设置参数的 SqlDbType。 | 
| Direction | 获取或设置一个值,该值指示参数是只可输入的参数、只可输出的参数、双向参数还是存储过程返回值参数。 | 
| ForceColumnEncryption | 当使用 Always Encrypted 时强制执行参数的加密。 如果 SQL Server 告知驱动程序参数不需加密,则使用该参数的查询会失败。 此属性提供针对安全攻击的额外保护,这些攻击涉及受损 SQL Server 向客户端提供不正确的加密元数据,这可能会导致数据泄漏。 | 
| IsNullable | 获取或设置一个值,该值指示参数是否接受 null 值。 IsNullable 不用于验证参数的值,并且在执行命令时不会阻止发送或接收 null 值。 | 
| LocaleId | 获取或设置确定某一特定区域的约定和语言设置的区域设置标识符。 | 
| Offset | 获取或设置 Value 属性的偏移量。 | 
| ParameterName | 获取或设置 SqlParameter 的名称。 | 
| Precision | 获取或设置用于表示 Value 属性的最大位数。 | 
| Scale | 获取或设置所解析的 Value 的小数位数。 | 
| Size | 获取或设置列中数据的最大大小(字节)。 | 
| SourceColumn | |
| SourceColumnNullMapping | 获取或设置一个值,该值指示源列是否可以为 null。 通过此操作,SqlCommandBuilder 能够为可以为 null 的列正确地生成 Update 语句。 | 
| SourceVersion | 获取或设置在加载 DataRowVersion 时使用的 Value。 | 
| SourceVersion | 获取或设置在加载 DataRowVersion 时使用的 Value。(继承自 DbParameter) | 
| SqlDbType | 获取或设置参数的 SqlDbType。 | 
| SqlValue | 获取或设置作为 SQL 类型的参数的值。 | 
| TypeName | 获取或设置表值参数的类型名称。 | 
| UdtTypeName | 获取或设置作为参数的表示用户定义类型的  | 
| Value | 获取或设置参数的值。 | 
| XmlSchemaCollectionDatabase | 获取此 XML 实例的架构集合所在的数据库的名称。 | 
| XmlSchemaCollectionName | 获取此 XML 实例的架构集合的名称。 | 
| XmlSchemaCollectionOwningSchema | 此 XML 实例的架构集合所在的所属关系架构。 | 
方法
| CreateObjRef(Type) | 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。(继承自 MarshalByRefObject) | 
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetLifetimeService() | 
		已过时.
	 检索控制此实例的生存期策略的当前生存期服务对象。(继承自 MarshalByRefObject) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| InitializeLifetimeService() | 
		已过时.
	 获取生存期服务对象来控制此实例的生存期策略。(继承自 MarshalByRefObject) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| MemberwiseClone(Boolean) | 创建当前 MarshalByRefObject 对象的浅表副本。(继承自 MarshalByRefObject) | 
| ResetDbType() | 重置与此 SqlParameter 关联的类型。 | 
| ResetSqlDbType() | 重置与此 SqlParameter 关联的类型。 | 
| ToString() | 获取一个包含 ParameterName 的字符串。 | 
显式接口实现
| ICloneable.Clone() | 有关此成员的说明,请参见 Clone()。 | 
| IDataParameter.SourceVersion | 获取或设置要在加载 Value 时使用的 DataRowVersion。(继承自 DbParameter) | 
| IDbDataParameter.Precision | 指示数值参数的精度。(继承自 DbParameter) | 
| IDbDataParameter.Scale | 有关此成员的说明,请参见 Scale。(继承自 DbParameter) |