使用SqlCommand类来执行Transact-SQL语句或存储过程时,有时需要用参数传值或作为返回值,SqlParameter类正是为了此需要而设计的类。下面介绍如何使用该类为SqlCommand对象设置参数。
功能说明
SqlParameter类用来作为SqlCommand类的参数。通过指定参数的ParameterName属性可以设置参数的名称,在使用SqlParameter对象之前必须设置此属性。DbType属性可以指定参数的类型。SqlParameter对象还可以作为存储过程的参数返回结果。
语法定义
SqlParameter类的语法定义如下
public sealed class SqlParameter:DbParameter,DbDataarameter,IDataParameter,ICloneable
该类的构造函数有多个重载,下面的代码演示了创建SqlParameter类实例的一种常用方法:
SqlParameter parameter = new SqlParameter("@Time",System.Data.SqlDbType.DateTime,30);
此类构造函数使用了三个参数,其代表意义如下。
• @Time: 参数名称。
• System.Data.SqlDbType.DateTime:参数的类型
• 30:参数长度
方法详解
.Net Framework为SqlParameter类新增了两个方法
名称 | 说明 |
ResetDbType | 重置参数的类型,当参数重新赋值时可以按新值推断其类型 |
RestType |
重置参数的类型。此方法与ResetDbType作用相似 |
static void Main(string[] args) { SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@Time"; parameter.Value = 10; Console.WriteLine("参数类型为:{0}",parameter.SqlDbType.ToString()); parameter.ResetDbType(); parameter.Value = "10"; Console.WriteLine("参数类型为:{0}", parameter.SqlDbType.ToString()); }
上面的代码输出结果如下:
参数的类型为:Int
参数的类型为:NavrChar