zoukankan      html  css  js  c++  java
  • EF执行存储过程返回DataSet

     public static System.Collections.Generic.IEnumerable<TElement> RunSP<TElement>(this Database self, string spName, params SqlParameter[] paras)
            {
                System.Collections.Generic.IEnumerable<TElement> entityList = new System.Collections.Generic.List<TElement>();
                DataSet set = self.RunSP(spName, paras);
                if ((set != null) && (set.Tables.get_Count() >= 1))
                {
                    entityList = EntityHelper.GetEntityList<TElement>(set.Tables.get_Item(0));
                }
                return entityList;
            }
            
            public static DataSet RunSP(this Database self, string spName, params SqlParameter[] paras)
            {
                if (paras != null)
                {
                    SqlParameter[] parameterArray = paras;
                    for (int i = 0; i < parameterArray.Length; i = (int) (i + 1))
                    {
                        SqlParameter parameter = parameterArray[i];
                        if (parameter.get_Value() == null)
                        {
                            parameter.set_Value(System.DBNull.Value);
                        }
                    }
                }
                SqlDataAdapter adapter = new SqlDataAdapter();
                SqlConnection connection = self.Connection as SqlConnection;
                using (SqlCommand command = new SqlCommand(spName, connection))
                {
                    adapter.set_SelectCommand(command);
                    command.set_CommandType(CommandType.StoredProcedure);
                    if (paras != null)
                    {
                        SqlParameter[] parameterArray2 = paras;
                        for (int j = 0; j < parameterArray2.Length; j = (int) (j + 1))
                        {
                            SqlParameter parameter2 = parameterArray2[j];
                            command.Parameters.Add(parameter2);
                        }
                    }
                    DataSet set = new DataSet();
                    adapter.Fill(set);
                    adapter.SelectCommand.Parameters.Clear();
                    return set;
                }
            }
            
            public static DataSet RunSP(this Database self, string spName, SqlTransaction tran, params SqlParameter[] paras)
            {
                if (paras != null)
                {
                    SqlParameter[] parameterArray = paras;
                    for (int i = 0; i < parameterArray.Length; i = (int) (i + 1))
                    {
                        SqlParameter parameter = parameterArray[i];
                        if (parameter.get_Value() == null)
                        {
                            parameter.set_Value(System.DBNull.Value);
                        }
                    }
                }
                SqlDataAdapter adapter = new SqlDataAdapter();
                SqlConnection connection = self.Connection as SqlConnection;
                using (SqlCommand command = new SqlCommand(spName, connection))
                {
                    if (tran != null)
                    {
                        command.set_Transaction(tran);
                    }
                    adapter.set_SelectCommand(command);
                    command.set_CommandType(CommandType.StoredProcedure);
                    if (paras != null)
                    {
                        SqlParameter[] parameterArray2 = paras;
                        for (int j = 0; j < parameterArray2.Length; j = (int) (j + 1))
                        {
                            SqlParameter parameter2 = parameterArray2[j];
                            command.Parameters.Add(parameter2);
                        }
                    }
                    DataSet set = new DataSet();
                    adapter.Fill(set);
                    adapter.SelectCommand.Parameters.Clear();
                    return set;
                }
            }
            
            public static System.Collections.Generic.IEnumerable<TElement> RunSql<TElement>(this Database self, string command, params SqlParameter[] paras)
            {
                System.Collections.Generic.IEnumerable<TElement> entityList = new System.Collections.Generic.List<TElement>();
                DataSet set = self.RunSql(command, paras);
                if ((set != null) && (set.Tables.get_Count() >= 1))
                {
                    entityList = EntityHelper.GetEntityList<TElement>(set.Tables.get_Item(0));
                }
                return entityList;
            }
            
            public static DataSet RunSql(this Database self, string command, params SqlParameter[] paras)
            {
                if (paras != null)
                {
                    SqlParameter[] parameterArray = paras;
                    for (int i = 0; i < parameterArray.Length; i = (int) (i + 1))
                    {
                        SqlParameter parameter = parameterArray[i];
                        if (parameter.get_Value() == null)
                        {
                            parameter.set_Value(System.DBNull.Value);
                        }
                    }
                }
                SqlDataAdapter adapter = new SqlDataAdapter();
                SqlConnection connection = self.Connection as SqlConnection;
                using (SqlCommand command2 = new SqlCommand(command, connection))
                {
                    command2.set_CommandType(CommandType.Text);
                    if (paras != null)
                    {
                        SqlParameter[] parameterArray2 = paras;
                        for (int j = 0; j < parameterArray2.Length; j = (int) (j + 1))
                        {
                            SqlParameter parameter2 = parameterArray2[j];
                            command2.Parameters.Add(parameter2);
                        }
                    }
                    adapter.set_SelectCommand(command2);
                    DataSet set = new DataSet();
                    adapter.Fill(set);
                    adapter.SelectCommand.Parameters.Clear();
                    return set;
                }
            }
            
            public static DataSet RunSql(this Database self, string command, SqlTransaction tran, params SqlParameter[] paras)
            {
                if (paras != null)
                {
                    SqlParameter[] parameterArray = paras;
                    for (int i = 0; i < parameterArray.Length; i = (int) (i + 1))
                    {
                        SqlParameter parameter = parameterArray[i];
                        if (parameter.get_Value() == null)
                        {
                            parameter.set_Value(System.DBNull.Value);
                        }
                    }
                }
                SqlDataAdapter adapter = new SqlDataAdapter();
                SqlConnection connection = self.Connection as SqlConnection;
                using (SqlCommand command2 = new SqlCommand(command, connection))
                {
                    if (tran != null)
                    {
                        command2.set_Transaction(tran);
                    }
                    command2.set_CommandType(CommandType.Text);
                    if (paras != null)
                    {
                        SqlParameter[] parameterArray2 = paras;
                        for (int j = 0; j < parameterArray2.Length; j = (int) (j + 1))
                        {
                            SqlParameter parameter2 = parameterArray2[j];
                            command2.Parameters.Add(parameter2);
                        }
                    }
                    adapter.set_SelectCommand(command2);
                    DataSet set = new DataSet();
                    adapter.Fill(set);
                    adapter.SelectCommand.Parameters.Clear();
                    return set;
                }
            }
    NET新手,希望各位大侠多多指教。
  • 相关阅读:
    【C++】资源管理
    【Shell脚本】逐行处理文本文件
    【算法题】rand5()产生rand7()
    【Shell脚本】字符串处理
    Apple iOS产品硬件参数. 不及格的程序员
    与iPhone的差距! 不及格的程序员
    iPhone游戏 Mr.Karoshi"过劳死"通关. 不及格的程序员
    XCode V4 发布了, 苹果的却是个变态. 不及格的程序员
    何时readonly 字段不是 readonly 的?结果出呼你想象!!! 不及格的程序员
    object file format unrecognized, invalid, or unsuitable Command 不及格的程序员
  • 原文地址:https://www.cnblogs.com/duanyuerui/p/7098248.html
Copyright © 2011-2022 走看看