sqlhelper调用存储过程[续上]

        public DataSet ExecuteSQLProcedure(string Procedure_name, List<DbParameter> parameters)
        {
            DataSet fResult = new DataSet();
            DbProviderFactory myDataFactory = DbProviderFactories.GetFactory(myProviderName);
            using (DbConnection conn = myDataFactory.CreateConnection())
            {
                using (DbCommand comm = conn.CreateCommand())
                {
                    DbDataAdapter adap = myDataFactory.CreateDataAdapter();
                    adap.SelectCommand = comm;
                    conn.ConnectionString = myConnectionString;
                    comm.CommandText = Procedure_name;
                    comm.CommandType = CommandType.StoredProcedure;
                    //先清空原有的参数
                    comm.Parameters.Clear();
                    //给Command添加参数
                    foreach (DbParameter parameter in parameters)
                    {
                        if (parameter.Value == null)
                        {
                            parameter.Value = DBNull.Value;
                        }
                        comm.Parameters.Add(parameter);
                    }
                    //打开连接
                    conn.Open();
                    try
                    {
                        //执行               
                        adap.Fill(fResult);
                    }
                    catch (System.Data.Common.DbException ex)
                    {
                        //PublicUtility.HandException("DbBase.cs", ex);
                    }
                    finally
                    {
                        //关闭连接
                        comm.Parameters.Clear();

                        if (conn != null) conn.Close();
                    }
                }
            }
            return fResult;
        }

posted on 2010-07-09 09:45  Master zhu  阅读(306)  评论(0)    收藏  举报

导航