示例#1
0
        public static DataTable ExecuteReader(Model mdl)
        {
            DataTable dt = new DataTable();
            using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["TestConnectionString"].ToString()))
            {
                cn.Open();
                SqlCommand cm = new SqlCommand(mdl.StoreProcedureName.ToString(), cn);
                cm.CommandType = CommandType.StoredProcedure;
                foreach (SqlParameter p in cm.Parameters)
                {
                    if (p.Direction == ParameterDirection.Input || p.Direction == ParameterDirection.InputOutput)
                    {
                        foreach (PropertyInfo pi in mdl.GetType().GetProperties())
                        {
                            if (p.ParameterName.ToLower().Replace("@", "") == pi.Name.ToLower())
                            {
                                p.Value = FormatObject(p, pi.GetValue(mdl, null));
                                break;
                            }
                        }
                    }

                }
                dt.Load(cm.ExecuteReader());
            }
            return dt;
        }