ADO.net 调用存储过程
C#
// Assumes that connection is a valid SqlConnection object. SqlCommand salesCommand = new SqlCommand("SalesByCategory", connection); salesCommand.CommandType = CommandType.StoredProcedure; SqlParameter parameter = salesCommand.Parameters.Add( "@CategoryName", SqlDbType.NVarChar, 15); parameter.Value = "Beverages"; connection.Open(); SqlDataReader reader = salesCommand.ExecuteReader(); Console.WriteLine( "{0}, {1}", reader.GetName(0), reader.GetName(1)); while (reader.Read()) { Console.WriteLine("{0}, ${1}", reader.GetString(0), reader.GetDecimal(1)); } reader.Close(); connection.Close();
Parameter 对象可以使用 Parameter 构造函数来创建,或通过调用 Command 的 Parameters 集合的 Add 方法来创建。Parameters.Add 会将构造函数参数或现有 Parameter 对象用作输入。在将 Parameter 的 Value 设置为空引用时,请使用 DBNull.Value。
对于 Input 参数之外的参数,必须设置 ParameterDirection 属性来指定参数类型是 InputOutput、Output 还是 ReturnValue。以下示例演示为各种提供程序创建 Input、Output 和 ReturnValue 参数之间的差异。