1.要在ADO.NET对象模型中执行一个参数化查询,需要向Command对象的Parameters集合中添加Parameter对象
生成SqlParameter的最简单方式是调用SqlCommand对象的Parameters集合中的AddWithValue. 可生成了一个新的SqlParameter对象,并设置新对象的ParameterName和Value属性
eg:
cmd.Parameters.AddWithValue(“@CustomerID”,”gavin”);
SqlDataReader rdr=cmd.ExecuteReader();
2.参数数据类型可以设置SqlParameter对象的SqlDbType属性,以控制在向SQL Server数据库中传递参数信息时所采用的数据类型。
SqlCommand cmd=new SqlCommand(strSQL,cn);
SqlParameter p;
p=new SqlParameter(“@CustomerID”,SqlDbType.NVarChar,5);
p.Value=”gavin”;
cmd.Parameters.Add(p);
或者
SqlCommand cmd=new SqlCommand(“select * from UserInfo where sex=@sex and age>@age”,connection);
cmd.Parameters.AddWithValue(“@sex”,true);
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
DataTable data=new DataTable();
3.参数方向
pUnitPrice=cmd.Parameters.Add(“@UnitPrice”,SqlDbType.Money);
pUnitPrice.Direction=ParameterDirection.Output;
如果Products表中的数据行都与Where自居中的指定条件不匹配,查询成功执行,但每个输出参数的Value属性都设置为DBNull.Value