浏览:572008-05-09 17:12   来自weblogical      :

前段时间修改了一个通用存储过程类,这个类真的很强大(我修改以前就很强大,我改动了读取存储过程详细信息这个方法,比以前更快),可以调用任意存储过程,有无output、返回table或返回1,0

部分代码:

public object Execute(string sp_name, string returnType, params object[] parameters)
        {
            try
            {
                SqlProcedure procedure = new SqlProcedure(sp_name);
                Sqlresult result;
                result = procedure.Call(parameters);
                switch (returnType.ToLower())
                {
                    case "int":
                        if (result.Value == 1)
                            return true;
                        return false;
                    case "table":
                        return result.dataSet;
                    case "output":
                        return result.Output;
                    case "all":
                        output = result.Output;
                        return result.dataSet;
                    default:
                        return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

//调用如下 

using (DataSet ds = (DataSet)myDiseaseDetails.Execute("CommonSelect", "table", "select * from sclass where FClassID = 9"))
        {

//……
        }

没有用到商业逻辑层的get{},set{}之类的东西,这么写感觉破坏了三层规范,至今仍举棋不定,请指点一二

楼主

你还不是小组成员,加入小组以后才能发布新主题!
> 返回“设计模式”


其他话题

1 17574