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

sqlhelper类有些代码看不太懂
对于sqlhelper类中的代码看不太懂,请哪位给解释一下,代码如下。先谢谢了。
C# code

#region 增加参数  
    public static SqlCommand AddParameterCollection(SqlCommand cmd, SqlParameterCollection SqlParameterCollection)  
    {  
        foreach (SqlParameter SqlParameter in SqlParameterCollection)  
        {  
            cmd.Parameters.Add(SqlParameter);  
        }  
        return cmd;  
    }  
    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顾名思义就是取参数呗。。。