日期:2014-05-17  浏览次数:20520 次

SqlHelper中代码问题,急
#region 增加参数
  public static void AddParameterCollection(SqlCommand cmd, SqlParameterCollection SqlParameterCollection)
  {
  foreach (SqlParameter SqlParameter in SqlParameterCollection)
  {
  cmd.Parameters.Add(SqlParameter);
  }
  }
  public static void AddOutParameter(SqlCommand cmd, string parameterName, DbType dbType, int size)
  {
  SqlParameter SqlParameter = cmd.CreateParameter();
  SqlParameter.DbType = dbType;
  SqlParameter.ParameterName = parameterName;
  SqlParameter.Size = size;
  SqlParameter.Direction = ParameterDirection.Output;
  cmd.Parameters.Add(SqlParameter);
  }
  public static void AddInParameter(SqlCommand cmd, string parameterName, DbType dbType, object value)
  {
  SqlParameter SqlParameter = cmd.CreateParameter();
  SqlParameter.DbType = dbType;
  SqlParameter.ParameterName = parameterName;
  SqlParameter.Value = value;
  SqlParameter.Direction = ParameterDirection.Input;
  cmd.Parameters.Add(SqlParameter);
  }
  public static void AddReturnParameter(SqlCommand cmd, string parameterName, DbType dbType)
  {
  SqlParameter SqlParameter = cmd.CreateParameter();
  SqlParameter.DbType = dbType;
  SqlParameter.ParameterName = parameterName;
  SqlParameter.Direction = ParameterDirection.ReturnValue;
  cmd.Parameters.Add(SqlParameter);
  }
  public static SqlParameter GetParameter(SqlCommand cmd, string parameterName)
  {
  return cmd.Parameters[parameterName];
  }
  #endregion
能把我逐句解释一下吗?谢谢!

------解决方案--------------------
这个只不过是为了设置存储过程中传递的参数类型和数据

AddParameterCollection的方法只是提供了一个传入多Sql参数的方法而已 然后循环设置参数 这些参数的类型和数据是在外部定义的 
AddOutParameter,AddInParameter,AddReturnParameter
ParameterDirection枚举类 就定义了4个类型
Input 输入参数
Output 输出参数
InputOutput 既能输入,也能输出
ReturnValue 表示诸如存储过程、内置函数或用户定义函数之类的操作的返回值

你给出的几个方法就是为了设置这些参数的 你那几个方法只是分成了3个 InputOutput没有 因为那是默认就是的吧

最后的GetParameter顾名思义就是取参数呗。。。