数据类型在编程中是基础知识,文章这里就配置参数和参数ADO.NET数据类型介绍。通过提供类型检查和验证,命令对象可使用参数来将值传递给 SQL 语句或存储过程。与命令文本不同,参数输入被视为文本值,而不是可执行代码。这样可帮助抵御“SQL 注入”攻击,这种攻击的攻击者会将命令插入 SQL 语句,从而危及服务器的安全。
#T#ADO.NET数据类型参数化命令还可提高查询执行性能,因为它们可帮助数据库服务器将传入命令与适当的缓存查询计划进行准确匹配。有关更多信息,请参见 SQL Server 联机丛书中的执行计划的缓存和重新使用和重用参数和执行计划。除具备安全和性能优势外,参数化命令还提供一种用于组织传递到数据源的值的便捷方法。DbParameter 对象可以通过使用其构造函数来创建,或者也可以通过调用 DbParameterCollection 集合的 Add 方法以将该对象添加到 DbParameterCollection 来创建。Add 方法将构造函数实参或现有形参对象用作输入,具体取决于数据提供程序。
提供 ParameterDirection 属性
在添加参数时,您必须为输入参数以外的参数提供一个 ParameterDirection 属性。下表显示了可用于 ParameterDirection 枚举的 ParameterDirection 值。
。
成员名称 |
说明 |
---|---|
该参数为输入参数。这是默认设置。 | |
该参数可执行输入和输出。 | |
该参数为输出参数。 | |
该参数表示从某操作(如存储过程、内置函数或用户定义的函数)返回的值。 |
ADO.NET数据类型使用参数占位符
参数占位符的语法取决于数据源。.NET Framework 数据提供程序处理命名和指定参数和参数占位符的方式各不相同。此语法是针对某个特定的数据源自定义的,如下表所述。
数据提供程序 |
参数命名语法 |
---|---|
以 @parametername 格式使用命名参数。 | |
使用由问号 (?) 表示的位置参数标记。 | |
使用由问号 (?) 表示的位置参数标记。 | |
以 :parmname(或 parmname)格式使用命名参数。 |