新手ADO存储过程MVC增删查改模糊查询分页登录加批量删除2

---恢复内容开始---

 

 

样式  

  以上只是为了个初学者一个借鉴,可以联系增删查改,批量删除,模糊查询,分页,拼串;

有需要的可以看看,然后说点啥呢,只要能保存到明天晚上就行了

多少个字了,有没有一百五十个了,差不多了吧。

现就这样吧 。试试看

SQL server内容:只写了一个表 这是为了简单的写一下

USE rikao 
CREATE TABLE exam
(
id INT PRIMARY KEY IDENTITY ,
NAME NVARCHAR(24),
sex NVARCHAR(24)
)
CREATE TABLE gender
(
genderId INT PRIMARY KEY IDENTITY,
genders NVARCHAR(24)
)
SELECT * FROM exam WHERE 1=1 AND [NAME]='天明'
 
IF OBJECT_ID('p_cha','p') IS NOT NULL
DROP PROC p_cha
GO
CREATE PROC p_cha
@name NVARCHAR(24),
@sex NVARCHAR(24)
AS
BEGIN
    IF(@name=null)
    BEGIN
    SELECT * FROM exam WHERE  sex=@sex
    END
    ELSE IF(@sex=null)
    BEGIN
    SELECT * FROM exam WHERE name=@name 
    END
    ELSE IF(@name=NULL AND @sex=NULL)
    BEGIN
    SELECT * FROM exam
    END
END
EXEC p_cha '天明',''
---拼串模糊查询
if exists(select * from sys.objects where name='proc_getallByCondition' and type='p')
drop procedure proc_getallByCondition
go
create procedure proc_getallByCondition
(
@StudentNme nvarchar(50),
@Gender nvarchar(50)
)
as
declare @sql nvarchar(200)
set @sql= ('select  StudentId, StudentNme, Gender, PhoneNumber, CreationTime from [dbo].[TStudent] where 1=1 ')
if(@StudentNme<>'')
set @sql=CONCAT(@sql,' and StudentNme='+''''+@StudentNme+'''')
if(@Gender<>3)
set @sql=CONCAT(@sql,' and Gender='+@Gender)
exec(@sql)

CREATE TABLE exam
(
id INT PRIMARY KEY IDENTITY ,
NAME NVARCHAR(24),
sex NVARCHAR(24)
)
IF OBJECT_ID('p_find','p') IS NOT NULL
DROP PROC p_find
GO
CREATE PROC p_find
@name NVARCHAR(24),
@sex NVARCHAR(24)
as
DECLARE @sql NVARCHAR(200)
SET @sql=('select id,name,sex from exam where 1=1')
IF(@name<>'')
SET @sql=CONCAT(@sql,' and name='+''''+@name+'''')
IF(@sex<>'')
SET @sql=CONCAT(@sql,' and sex='+''''+@sex+'''')
EXEC(@sql)
EXEC p_find '',''

/*CREATE   TABLE Pager
(
CurrentPage  INT ,
PageData int,
TotalPage INT
)

IF OBJECT_ID('p_page','p') IS NOT NULL
DROP PROC p_page
GO
CREATE PROC p_page
@CurrentPage INT,
@PageDataCount INT,
@TotalPage INT OUTPUT
AS
BEGIN
    DECLARE @datacount INT
      SET @datacount=(SELECT COUNT(*) FROM dbo.exam)
      SET @TotalPage =(@datacount/@PageDataCount)
      IF((@datacount%@PageDataCount)<>0)
      SET @TotalPage=@TotalPage+1
      SELECT id,name,sex FROM dbo.exam ORDER BY id offset ((@CurrentPage-1)*@PageDataCount) ROW FETCH NEXT @PageDataCount ROW only
END
go
DECLARE @TotalPage int
EXEC p_page 2,2,@TotalPage output
SELECT @TotalPage

if (object_id('pro_page', 'P') is not null)
    drop proc pro_stu
go
create procedure pro_stu(
    @pageIndex int,
    @pageSize int
)
as
    declare @startRow int, @endRow int
    set @startRow = (@pageIndex - 1) * @pageSize +1
    set @endRow = @startRow + @pageSize -1
    select * from (
        select *, row_number() over (order by id asc) as number from exam 
    ) t
    where t.number between @startRow and @endRow;
    EXEC pro_stu 2,2
*/
IF OBJECT_ID('p_pages','p') IS NOT NULL
DROP PROC p_pages
go
CREATE PROC p_pages
(
@name NVARCHAR(24),
@sex NVARCHAR(24),
@pageSize INT,--每页显示几条
@currPage INT,--当前页面
@totalPage INT OUTPUT --总页面
)
AS
DECLARE @sql NVARCHAR(500)--查询语句
DECLARE @Condition NVARCHAR(500)--追加的条件
DECLARE @contdatastr NVARCHAR(500)--计算总数据的语句
DECLARE @paging NVARCHAR(500) --分页的语句
DECLARE @countData float--浮点型意为向上取整
SET @paging=' order by id offset '+CONVERT(NVARCHAR(50),((@currPage-1)*@pageSize))+' 
row fetch next  '+CONVERT(NVARCHAR(50),@pageSize)+' row only'
--offset(跳过多少条)    row fetch NEXT 取多少条 ROW only
SET @sql='select id,name,sex from exam where 1=1'
SET @Condition=''
IF(@name!='')
SET @Condition=CONCAT(@Condition,' and name='+''''+@name+'''')
IF(@sex!='')
SET @Condition=CONCAT(@Condition,' and sex='+''''+@sex+'''')

SET @sql=CONCAT(@sql,@Condition)
SET @sql=CONCAT(@sql,@paging)
SET @contdatastr=CONCAT('select *  from exam where 1=1',@Condition)
EXEC(@sql)
EXEC(@contdatastr)
set @countData=@@rowcount
SET @totalPage=CEILING(@countData/@pageSize)

go
DECLARE @totalPage INT
EXEC p_pages '','',2,1,@totalPage OUTPUT
SELECT @totalPage AS--简单增加
IF OBJECT_ID('p_AddExam') IS NOT NULL
DROP PROC p_AddExam
go
CREATE PROC p_AddExam
@name NVARCHAR(24),
@sex NVARCHAR(24)
AS
BEGIN
INSERT INTO exam  VALUES (@name,@sex)
END
EXEC p_AddExam '张小凡',''
SELECT * FROM dbo.exam

--简单删除
IF OBJECT_ID('p_DelExam') IS NOT NULL
DROP PROC p_DelExam
go 

CREATE PROC p_DelExam
@id int
as
BEGIN
DELETE FROM exam WHERE id=@id
end

EXEC p_DelExam 8
SELECT * FROM dbo.exam
--创建登录表 账号密码
CREATE TABLE logins
(
Log_id INT PRIMARY KEY IDENTITY,
Log_name nvarchar(24),
Log_password nvarchar(24)
)
SELECT * FROM logins
--简单登录
IF OBJECT_ID('p_log') IS NOT NULL
DROP PROC p_log
GO
CREATE PROC p_log
@Log_name nvarchar(24),
@Log_password nvarchar(24)
AS
BEGIN
SELECT COUNT(*) FROM logins WHERE Log_name=@Log_name AND Log_password =@Log_password
end

EXEC p_log 'admin','123'
--批量删除
IF OBJECT_ID('p_DelAll','p') IS NOT NULL
DROP  PROC p_DelAll
GO
CREATE PROC p_DelAll
(
@id NVARCHAR(24)
)
AS
BEGIN
EXEC ('delete from exam where id in('+@id+')')
END
EXEC p_DelAll '12,13,14'
select * FROM exam
--修改

IF OBJECT_ID('p_upd','p') IS NOT NULL
DROP PROC p_upd
go 
CREATE PROC p_upd

@name NVARCHAR(24),
@sex NVARCHAR(24),
@id int
AS
BEGIN
UPDATE dbo.exam SET name=@name,sex=@sex where id=@id
end

EXEC p_upd '地狱','',5
UPDATE dbo.exam SET name='天堂',sex='' where id=2
SELECT * FROM exam

现在是数据访问层:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Model;
using System.Data;
using System.Data.SqlClient;
using Newtonsoft.Json;
using System.Data.Entity;
using System.Configuration;
using System.Reflection;
namespace Dal
{
    public class examDal
    {
        SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=rikao;Integrated Security=True");

        public List<examModel> show()
        {
            conn.Open();
            string sql = "SELECT * FROM exam";
            SqlDataAdapter dr = new SqlDataAdapter(sql, conn);
            DataTable dt = new DataTable();
            dr.Fill(dt);
            var i = JsonConvert.SerializeObject(dt);
            return JsonConvert.DeserializeObject<List<examModel>>(i);

        }
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="querys"></param>
        /// <returns></returns>
        public List<examModel> query(string name, string sex)
        {
            try
            {

                List<examModel> list = new List<examModel>();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                SqlDataAdapter dr = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                SqlParameter[] pare =
                {
                    new SqlParameter("@name",name),
                    new SqlParameter("@sex",sex),
                };
                cmd.Parameters.AddRange(pare);
                cmd.CommandText = "p_find";
                cmd.CommandType = CommandType.StoredProcedure;
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                dr.Fill(dt);
                // cmd.ExecuteNonQuery();
                // SqlDataReader sdr=cmd
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    examModel exams = new examModel();
                    exams.id = (int)dt.Rows[i]["id"];
                    exams.name = dt.Rows[i]["name"].ToString();
                    exams.sex = dt.Rows[i]["sex"].ToString();
                    list.Add(exams);
                }
                return list;
            }

            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
        //public List<gender> GetGender()
        //{
        //    using (var con = new ModelContext())
        //    {
        //        return con.gender.ToList();
        //    }
        //}
        //获取性别表
        public List<gender> GetGenderShow()
        {
            try
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                conn.Open();
                string sql = "SELECT * FROM gender";
                SqlDataAdapter dr = new SqlDataAdapter(sql, conn);
                DataTable dt = new DataTable();
                dr.Fill(dt);
                //for (int j = 0; j < dt.Rows.Count; j++)
                //{
                //    gender g = new gender();
                //    g.genderId = (int)dt.Rows[j]["genderId"];
                //    g.genders = dt.Rows[j]["genderId"].ToString();
                //}
                var i = JsonConvert.SerializeObject(dt);
                return JsonConvert.DeserializeObject<List<gender>>(i);
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }

        }

        /// <summary>
        /// 查询心法
        /// </summary>
        /// <param name="name"></param>
        /// <param name="sex"></param>
        /// <returns></returns>
        public List<examModel> finds(string name, string sex)
        {
            List<examModel> list = new List<examModel>();
            try
            {
                string procsql = "p_find";
                conn.Open();
                SqlCommand cmd = new SqlCommand(procsql, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@name", name));
                cmd.Parameters.Add(new SqlParameter("@sex", sex));
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    examModel m = new examModel();
                    m.id = (int)dr["id"];
                    m.name = dr["name"].ToString();
                    m.sex = dr["sex"].ToString();
                    list.Add(m);
                }
                dr.Close();
                conn.Close();
                return list;
            }
            catch (Exception)
            {

                throw;
            }
        }
        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="current"></param>
        /// <param name="pageDataCount"></param>
        /// <returns></returns>
        public string GetexamList(string name, string sex, int currPage)
        {
            try
            {
                const int PAGESIZE = 3;
                List<examModel> examlist = new List<examModel>();
                Page pageList = new Page();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;

                SqlParameter[] pare = new SqlParameter[]
                {
                    new SqlParameter("@name",name),
                    new SqlParameter("@sex",sex),
                    new SqlParameter("@pageSize",PAGESIZE),
                    new SqlParameter("@currPage",currPage),
                    new SqlParameter("@TotalPage",System.Data.SqlDbType.Int)
                };
                pare[4].Direction = System.Data.ParameterDirection.Output;
                cmd.CommandText = "p_pages";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(pare);
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                SqlDataAdapter dr = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                dr.Fill(dt);
                string liststr = JsonConvert.SerializeObject(dt);
                examlist = JsonConvert.DeserializeObject<List<examModel>>(liststr);
                pageList.CurrPage = currPage;
                pageList.PageData = examlist;
                pageList.TotalPage = (int)pare[4].Value; ;
                return JsonConvert.SerializeObject(pageList);
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }

        }

        /// <summary>
        /// 存储过程 单表 添加
        /// </summary>
        /// <param name="name"></param>
        /// <param name="sex"></param>
        /// <returns></returns>
        public int ExamAdd(string name, string sex)
        {
            List<examModel> list = new List<examModel>();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            SqlParameter[] pare =
                {
                    new  SqlParameter("@name",name),
                    new SqlParameter("@sex",sex)
                };
            cmd.Parameters.AddRange(pare);
            cmd.CommandText = "p_AddExam";
            cmd.CommandType = CommandType.StoredProcedure;
            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
            return    cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 存储过程单表删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int DelExam(int id)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            SqlParameter[] pare =
            {
                new SqlParameter("@id",id),
            };
            cmd.CommandText = "p_DelExam";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddRange(pare);
            if (conn.State == ConnectionState.Closed)
                conn.Open();
            return cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// 批量删除尝试
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int AllDel(string id)
        {
            try
            {
         
           // string sql = string.Format("delete from exam where id in ({0})",id);
            SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                SqlParameter[] pare =
                {
                    new SqlParameter("@id",id)
                };
                cmd.Parameters.AddRange(pare);
                cmd.CommandText = "p_DelAll";
                cmd.CommandType = CommandType.StoredProcedure;
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                return cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {

                throw;
            }
  

        }
        //返填
        public DataTable ft(int id)
        {
            try
            {
                conn.Open();
                string sql = "select * from exam where id=" + id + "";
                SqlCommand cmd = new SqlCommand(sql, conn);
                SqlDataAdapter dr = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                dr.Fill(dt);
                return dt;
            }
            catch (Exception)
            {

                throw;
            }
        }

        /// <summary>
        /// 修改尝试
        /// </summary>
        /// <param name="upd"></param>
        /// <returns></returns>
        public int Update(examModel upd)
        {
            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "p_upd";
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter[] pare =
                {
                    new SqlParameter("@name",upd.name),
                    new SqlParameter("@sex",upd.sex),
                    new SqlParameter("@id",upd.id)
                };
                cmd.Parameters.AddRange(pare);
                return cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
        adoDbContext context = new adoDbContext();
        public DbSet<T> GetDbset<T>() where T : class
        {
            Type getType = context.GetType();
            if (getType != null)
            {
                PropertyInfo[] getProperties = getType.GetProperties();
                if (getProperties != null)
                {
                    Type CurrentType = typeof(T);
                    foreach (PropertyInfo item in getProperties)
                    {
                        if (item.Name.Equals(CurrentType.Name))
                        {
                            DbSet<T> dbset = (DbSet<T>)item.GetValue(context);
                            return dbset;
                        }
                    }
                }
            }
            return null;
        }
 
    }
}

Dal中的 登录 和  反射

 
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using System.Data.Entity;
using Model;
namespace Dal
{
   public class adoDbContext:DbContext
    {
        public adoDbContext() : base()
        {

        }
        public DbSet<examModel> Users { get; set; }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Model;
using System.Data;
using System.Data.SqlClient;
using Newtonsoft.Json;
using System.Data.Entity;
using System.Configuration;
using System.Reflection;
namespace Dal
{
    public class examDal
    {
        SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=rikao;Integrated Security=True");

        public List<examModel> show()
        {
            conn.Open();
            string sql = "SELECT * FROM exam";
            SqlDataAdapter dr = new SqlDataAdapter(sql, conn);
            DataTable dt = new DataTable();
            dr.Fill(dt);
            var i = JsonConvert.SerializeObject(dt);
            return JsonConvert.DeserializeObject<List<examModel>>(i);

        }
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="querys"></param>
        /// <returns></returns>
        public List<examModel> query(string name, string sex)
        {
            try
            {

                List<examModel> list = new List<examModel>();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                SqlDataAdapter dr = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                SqlParameter[] pare =
                {
                    new SqlParameter("@name",name),
                    new SqlParameter("@sex",sex),
                };
                cmd.Parameters.AddRange(pare);
                cmd.CommandText = "p_find";
                cmd.CommandType = CommandType.StoredProcedure;
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                dr.Fill(dt);
                // cmd.ExecuteNonQuery();
                // SqlDataReader sdr=cmd
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    examModel exams = new examModel();
                    exams.id = (int)dt.Rows[i]["id"];
                    exams.name = dt.Rows[i]["name"].ToString();
                    exams.sex = dt.Rows[i]["sex"].ToString();
                    list.Add(exams);
                }
                return list;
            }

            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
        //public List<gender> GetGender()
        //{
        //    using (var con = new ModelContext())
        //    {
        //        return con.gender.ToList();
        //    }
        //}
        //获取性别表
        public List<gender> GetGenderShow()
        {
            try
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                conn.Open();
                string sql = "SELECT * FROM gender";
                SqlDataAdapter dr = new SqlDataAdapter(sql, conn);
                DataTable dt = new DataTable();
                dr.Fill(dt);
                //for (int j = 0; j < dt.Rows.Count; j++)
                //{
                //    gender g = new gender();
                //    g.genderId = (int)dt.Rows[j]["genderId"];
                //    g.genders = dt.Rows[j]["genderId"].ToString();
                //}
                var i = JsonConvert.SerializeObject(dt);
                return JsonConvert.DeserializeObject<List<gender>>(i);
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }

        }

        /// <summary>
        /// 查询心法
        /// </summary>
        /// <param name="name"></param>
        /// <param name="sex"></param>
        /// <returns></returns>
        public List<examModel> finds(string name, string sex)
        {
            List<examModel> list = new List<examModel>();
            try
            {
                string procsql = "p_find";
                conn.Open();
                SqlCommand cmd = new SqlCommand(procsql, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@name", name));
                cmd.Parameters.Add(new SqlParameter("@sex", sex));
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    examModel m = new examModel();
                    m.id = (int)dr["id"];
                    m.name = dr["name"].ToString();
                    m.sex = dr["sex"].ToString();
                    list.Add(m);
                }
                dr.Close();
                conn.Close();
                return list;
            }
            catch (Exception)
            {

                throw;
            }
        }
        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="current"></param>
        /// <param name="pageDataCount"></param>
        /// <returns></returns>
        public string GetexamList(string name, string sex, int currPage)
        {
            try
            {
                const int PAGESIZE = 3;
                List<examModel> examlist = new List<examModel>();
                Page pageList = new Page();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;

                SqlParameter[] pare = new SqlParameter[]
                {
                    new SqlParameter("@name",name),
                    new SqlParameter("@sex",sex),
                    new SqlParameter("@pageSize",PAGESIZE),
                    new SqlParameter("@currPage",currPage),
                    new SqlParameter("@TotalPage",System.Data.SqlDbType.Int)
                };
                pare[4].Direction = System.Data.ParameterDirection.Output;
                cmd.CommandText = "p_pages";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(pare);
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                SqlDataAdapter dr = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                dr.Fill(dt);
                string liststr = JsonConvert.SerializeObject(dt);
                examlist = JsonConvert.DeserializeObject<List<examModel>>(liststr);
                pageList.CurrPage = currPage;
                pageList.PageData = examlist;
                pageList.TotalPage = (int)pare[4].Value; ;
                return JsonConvert.SerializeObject(pageList);
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }

        }

        /// <summary>
        /// 存储过程 单表 添加
        /// </summary>
        /// <param name="name"></param>
        /// <param name="sex"></param>
        /// <returns></returns>
        public int ExamAdd(string name, string sex)
        {
            List<examModel> list = new List<examModel>();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            SqlParameter[] pare =
                {
                    new  SqlParameter("@name",name),
                    new SqlParameter("@sex",sex)
                };
            cmd.Parameters.AddRange(pare);
            cmd.CommandText = "p_AddExam";
            cmd.CommandType = CommandType.StoredProcedure;
            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
            return    cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 存储过程单表删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int DelExam(int id)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            SqlParameter[] pare =
            {
                new SqlParameter("@id",id),
            };
            cmd.CommandText = "p_DelExam";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddRange(pare);
            if (conn.State == ConnectionState.Closed)
                conn.Open();
            return cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// 批量删除尝试
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int AllDel(string id)
        {
            try
            {
         
           // string sql = string.Format("delete from exam where id in ({0})",id);
            SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                SqlParameter[] pare =
                {
                    new SqlParameter("@id",id)
                };
                cmd.Parameters.AddRange(pare);
                cmd.CommandText = "p_DelAll";
                cmd.CommandType = CommandType.StoredProcedure;
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                return cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {

                throw;
            }
  

        }
        //返填
        public DataTable ft(int id)
        {
            try
            {
                conn.Open();
                string sql = "select * from exam where id=" + id + "";
                SqlCommand cmd = new SqlCommand(sql, conn);
                SqlDataAdapter dr = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                dr.Fill(dt);
                return dt;
            }
            catch (Exception)
            {

                throw;
            }
        }

        /// <summary>
        /// 修改尝试
        /// </summary>
        /// <param name="upd"></param>
        /// <returns></returns>
        public int Update(examModel upd)
        {
            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "p_upd";
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter[] pare =
                {
                    new SqlParameter("@name",upd.name),
                    new SqlParameter("@sex",upd.sex),
                    new SqlParameter("@id",upd.id)
                };
                cmd.Parameters.AddRange(pare);
                return cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
        adoDbContext context = new adoDbContext();
        public DbSet<T> GetDbset<T>() where T : class
        {
            Type getType = context.GetType();
            if (getType != null)
            {
                PropertyInfo[] getProperties = getType.GetProperties();
                if (getProperties != null)
                {
                    Type CurrentType = typeof(T);
                    foreach (PropertyInfo item in getProperties)
                    {
                        if (item.Name.Equals(CurrentType.Name))
                        {
                            DbSet<T> dbset = (DbSet<T>)item.GetValue(context);
                            return dbset;
                        }
                    }
                }
            }
            return null;
        }
 
    }
}

控制器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data;
using System.Data.SqlClient;
using Newtonsoft.Json;
using Model;
using Bll;
namespace SexFind.Controllers
{
    public class HomeController : Controller
    {
        examBll bb = new examBll();
        LoginsBll logbb = new LoginsBll();

        // GET: Home
        public ActionResult Index(string name = "", string sex = "")
        {
            //ViewBag.genderId = new SelectList(new Bll.examBll().GetGenderShow(), "genderId", "genders");

            // ViewBag.cha = bb.query(name, sex);
            //ViewBag.show = bb.show();
            ViewBag.gender = bb.GetGenderShow();

            //ViewBag.finds = bb.finds(name, sex);
            return View();
        }

        public string GetexamList(int currPage, string name , string sex)
        {
            return bb.GetexamList(name, sex, currPage);
        }
        //public  string cha1(string name,string sex)
        //{
        //    return JsonConvert.SerializeObject(bb.query(name,sex));
        //}
        //[HttpPost]
        //public string cha2(string name, string sex)
        //{
        //    return JsonConvert.SerializeObject(bb.finds(name, sex));

        //}
        //[HttpGet]
        //public List<gender> GetGenderList()
        //{
        //    return bb.GetGender();
        //}
        public ActionResult Add()
        {

            return View();
        }
        public ActionResult addo(string name, string sex)
        {
            int i = bb.ExamAdd(name, sex);
            if (i > 0)
            {
                return Content("<script>alert('添加成功!');location.href='/Home/Index'</script>");
            }
            else
            {
                return Content("<script>alert('添加失败!');</script>");
            }
        }
        public ActionResult DelExam(int id)
        {
            int i = bb.DelExam(id);
            if (i > 0)
            {
                return Content("<script>alert('删除成功!');location.href='/Home/Index'</script>");
            }
            else
            {
                return Content("<script>alert('删除失败!');</script>");
            }
        }
        public ActionResult Login()
        {
            return View();
        }
        public ActionResult Logins(string Log_name, string Log_password)
        {
            int i = logbb.Logins(Log_name, Log_password);
            if (i > 0)
            {
                return Content("<script>alert('登录成功!');location.href='/Home/Index'</script>");
            }
            else
            {
                return Content("<script>alert('登录失败!');location.href='/Home/Login'</script>");
            }
        }
        public int AllDel(string id)
        {
            return bb.AllDel(id);
        }
        public ActionResult Update(int id)
        {
            Session["id"]=id;
            DataTable dt = bb.ft(id);
            ViewBag.str = dt.Rows[0];
            return View();
        }
        [ValidateInput(false)]
        [HttpPost]
        public ActionResult gaiDo(examModel m)
        {
            var i = bb.Update(m);
            if (i > 0)
            {
                return Content("<script>alert('修改成功!'); location.href = '/Home/Index';</script>");
            }
            else
            {
                return Content("<script>alert('修改失败!'); location.href = '/Home/Index';</script>");
            }
            //return View();
        }

    }
}

显示视图

@{
    Layout = null;
}

<!DOCTYPE html>

<html>

<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="~/jquery-1.10.2.min.js"></script>
    <link href="~/BootstrapSouce/css/bootstrap.min.css" rel="stylesheet" />
    <script src="~/BootstrapSouce/js/jquery.min.js"></script>
    <script src="~/BootstrapSouce/js/bootstrap.min.js"></script>
    @*.form-control{
        width:10px;
        }*@
</head>
@{
    //var show = ViewBag.show;
    var cha = ViewBag.cha;
    var gender = ViewBag.gender;
}
<body>


    <!-- 这里是注释代码
        <form id="form1" method="post">



        @*<select name="sex">
                   <option value="">男</option>
                   <option value="">女</option>
            </select>*@
        @*------我是分割线------*@
        性别:
        @*@Html.DropDownList("genderId")*@

        @*</form>*@

        @*<input type="button" id="btn1" value="查询" />*@
    -->
    <p class="nav nav-tabs modal-dialog">
        姓名:<input class="text-uppercase " id="name" type="text"  value="" />

        <select name="sex" id="genter">
            <option value="">---请选择---</option>
            @foreach (var item in gender)
            {
                <option value="@item.genders">@item.genders</option>
            }
        </select>

        <input id="btn1" class="btn btn-primary btn-sm" type="button" value="查询" />
        <a class="btn btn-primary btn-sm" href="/Home/Add">添加信息</a>
        <a class="btn btn-primary btn-sm" id="btndel">批量删除所选项</a>
    </p>

    <div class="modal-dialog">
        <table class="table table-hover table-bordered table-striped" id="table1">
            <tr>
                <td><input type="checkbox" id="checkboxAll"  /></td>
                <td>编号</td>
                <td>名字</td>
                <td>性别</td>
                <td>操作</td>
            </tr>
            @*@foreach (var item in cha)
                {
                    <tr>
                        <td>@item.id</td>
                        <td>@item.name</td>
                        <td>@item.sex</td>
                    </tr>
                }*@
        </table>
        <table id="tableShow">
            <tr>
                <td><a href="#" onclick="FirstPage()">首页&nbsp;&nbsp;&nbsp;</a></td>
                <td><a href="#" onclick="UpPage()">上一页&nbsp;&nbsp;&nbsp;</a></td>
                <td><a href="#" onclick="NextPage()">下一页&nbsp;&nbsp;&nbsp;</a></td>
                <td><a href="#" onclick="LastPage()">尾页</a></td>
            </tr>
            
        </table>
       
    </div>
</body>
</html>
<script>
    var curr = 1;
    var total = 0;
    var genders = '';
    // $("#btn1").click(function () {
    //    var name = $("#TxtName").val();
    //    var sex = $("#selectone").val();
    //    location.href = '/Home/Index?name=' + name + "&sex=" + sex;
    //})
    $(function () {
        show();
        $("#btn1").click(function () {
            var name = $("#name").val();
            var sex = $("#genter").val();
           // alert(name)
            //alert(sex)
            curr = 1;
            genders = sex;
            //  location.href = '/Home/Index?name=' + name + "&sex=" + sex;
            show();


        })
    });
    //    $.ajax({
    //        url: "/Home/cha1",
    //        type: "get",
    //        // data: jQuery("#form1").serialize(),
    //        data:{
    //            name:name,
    //            sex:sex
    //        },
    //        success: function (data) {
    //           // $("#table1 tr:gt(0)")
    //            data = JSON.parse(data);
    //            $("#table1 tr:gt(0)").remove() ;
    //            var tableHtml="<tr>"+
    //               "<td>编号</td>"+
    //               "<td>名字</td>"+
    //               "<td>性别</td>"+
    //               "</tr>;"
    //            for (var i = 0; i < data.length; i++) {
    //                tableHtml+=
    //                    "<tr>" +
    //               "<td>"+data[i].id+"</td>" +
    //               "<td>"+data[i].name+"</td>" +
    //               "<td>"+data[i].sex+"</td>" +
    //               "</tr>;"
    //            }
    //            $("#table1").html(tableHtml);
    //        }
    //})

    //function GetGenderList() {
    //    $.ajax({
    //        url: "/Home/GetGenderList",
    //        type: "get",
    //        success: function (data) {
    //            $("#gender option:gt(0)").remove();
    //            $.each(data, function (i, d) {
    //                $("#gender").append("<option value='" + d.genderId + "'>" + d.genders + "</option>")
    //            })
    //            GetGenderList()
    //        }

    //批量删除
    //$("#btndel").click(function () {
    //    var arry = new Array();
    //    var str = "";
    //    var checks = $("input:checkbox[name='times']:checked");
    //   // var selectRow = $("#table1 tr :checkbox:checked");
    //   // var checks = $("input:checkbox[name='times']:checked").attr("checked", true);
    //    if(checks.length<=0)
    //    {
    //        alert("请至少选择一项");
    //        return;
    //    }
    //   else if (confirm("确认删除吗?")) {
    //       $(checks).each(function(index,da){
    //           arry[index] = $(this).val();
    //       })
    //        //for (var i = 0; i < selectRow.length; i++) {
    //        //    id += selectRow[i].val + ",";
    //        //}
    //        str = arry.join(",");
    //        $.ajax({
    //            type: "post",
    //            url: "/Home/AllDel",
    //            data: { id: str },
    //            success: function (asd) {
    //                if(asd>0)
    //                {
    //                    alert("删除成功");
    //                    show();
    //                    //dataload();
    //                    //$("#checkbox1").attr("checked", false);
    //                }
    //                else
    //                {
    //                    alert("删除失败");
    //                }

    //删除
    $("#btndel").click(function () {
        var selectedRow = $("#table1 tr :checkbox:checked");
        if (selectedRow.length == 0) {
            alert("请至少选择一项");
            return;
        }
        if (confirm("确定要删除吗?")) {
            var id = "";
            for (var i = 0; i < selectedRow.length; i++) {
                id += selectedRow[i].value + ",";
            }
            id = id.substr(0, id.length - 1);
            $.ajax({
                type: "post",
                url: "/Home/AllDel",
                data: { id: id },
                success: function (obj) {
                    if (obj > 0) {
                        alert("删除成功");
                        show();
                        //刷新列表数据
                        //dataload();
                        //清除所有选中
                         //$("#Checkbox1").attr("checked", false);

                    }
                    else {
                        alert("删除失败");
                    }
                }
            })
        }
    });
    //全选
    $("#checkboxAll").click(function () {
        if (this.checked) {
            alert("1");
            $("[name=times]").attr("checked",true);
            //$("[name=hxy]").attr("checked", true);
        }
        else {
            alert("2")
            $("[name=times]").attr('checked',false);
        }
        alert("3")
    });
    function show() {
        var name = $("#name").val();
        var sex = $("#genter").val();

        $.ajax({
            url: "/Home/GetexamList",
            type: "get",
            data: {
                name: name,
                sex: genders,
                currPage: curr,
            },
            success: function (data) {
                data = JSON.parse(data);
                total = data.TotalPage;
                curr = data.CurrPage;
               // alert(curr)
                $("#table1 tr:gt(0)").remove();


                //alert(total);

                // alert("1"+data+"2");
                // console.log(data);
                $(data.PageData).each(function (index, data) {
                    var Str = "";
                    Str += "<tr>";
                    Str += "<td><input type='checkbox' name='times' id='checkbox1'  value='"+data.id+"'/></td>";
                    Str += "<td>" + data.id + "</td>";
                    Str += "<td>" + data.name + "</td>";
                    Str += "<td>" + data.sex + "</td>";
                    Str += "<td>" + "<a href='/Home/DelExam/" + data.id + "'>删除</a><a href='#' onclick='xiu("+data.id+")'>修改</a>"+"</td>";
                    Str += "</tr>";
                    $("#table1").append(Str);
                });
            }
        })
    };
    function FirstPage() {

        curr = 1;

        show();
    }
    function UpPage() {


        if (curr == 1)
            alert("已经在第一页了");
        else {
            curr = curr - 1;
            show();
        }
    }
    function NextPage() {

        if ((curr + 1) > total)
            alert("已经是最后一页了")
        else {
            curr = curr + 1;

            show();
        }
    }
    function LastPage() {
        curr = total;
        show();
    }
    function xiu(id) {
        location.href = '/Home/Update/' + id;
    }
</script>

添加视图

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Add</title>
    <script src="~/jquery-1.10.2.min.js"></script>
    <link href="~/BootstrapSouce/css/bootstrap.min.css" rel="stylesheet" />
    <script src="~/BootstrapSouce/js/jquery.min.js"></script>
    <script src="~/BootstrapSouce/js/bootstrap.js"></script>
</head>
<body>
    <div class="top modal-dialog"> 
        <form action="/Home/addo" method="post">
            <h1 class="h1">添加信息</h1>
            <table class="table table-hover table-bordered ">
                <tr>
                    <td>请输入姓名:</td>
                    <td><input type="text" name="name" value="" /></td>
                </tr>
                <tr>
                    <td>请选择性别:</td>
                    <td>
                        <select name="sex">
                            <option >---请选择---</option>
                            <option value="">男</option>
                            <option value="">女</option>
                        </select>

                    </td>
                </tr>
                <tr>
                    <td align="center" colspan="2">
                    <input class="btn btn-primary btn-sm" type="submit" value="添加" />
                        <input class="btn btn-primary btn-sm" onclick="jump()" type="button" value="返回" />
                    </td>
                </tr>
            </table>

        </form>
    </div>
</body>
</html>
<script>
    function jump() {
        location.href="/Home/Index"
    }

</script>

修改视图

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Update</title>
    <script src="~/jquery-1.10.2.min.js"></script>
</head>
<body>
    <div>
        <form action="/Home/gaiDo" method="post">
            <table>
                <tr>
                    <td>姓名:<input type="text" name="name" value="@ViewBag.str["name"]" /></td>
                </tr>
                <tr>
                    <td>性别:<input type="text" name="sex" value="@ViewBag.str["sex"]" /></td>
                </tr>
                <tr>
                    <td><input type="submit" id="btn" value="确认修改" /></td>
                </tr>
            </table>
        </form>
    </div>
</body>
</html>
<script>
    //$("#btn").click(function () {
    //    alert("1")
    //    var m = {
    //        name: $("#name").val(),
    //        sex: $("#sex").val()
    //    }
    //    alert("2")
    //    $.ajax({
    //        type: "post",
    //        url: "/Home/upd",
    //        data: m,
    //        dataType: "json",
    //        success: function (data) {
    //            if (data > 0) {
    //                alert("修改成功");
    //                location.href = '/Home/Index';
    //            }
    //            else {
    //                alert("修改失败");
    //                location.href = '/Home/Index';
    //            }
    //        }

    //    })
    //})
</script>

登录视图

@{
    Layout = null;
}

<!DOCTYPE html>

<html>

<head>
    
    <meta name="viewport" content="width=device-width" />
    <title>Login</title>
    <link href="~/BootstrapSouce/css/bootstrap.min.css" rel="stylesheet" />
    <script src="~/BootstrapSouce/js/jquery.min.js"></script>
    <script src="~/BootstrapSouce/js/bootstrap.min.js"></script>
    <style type="text/css">


    </style>
</head>
<body>
    <div align="center" class="page-header">
        <h1 >欢迎您的到来</h1>
    </div>
    <div id="div1"   class="top modal-dialog">
        <form action="/Home/Logins" method="post">
            <table class="table table-hover table-bordered " >
                <tr>
                    
                    <td>账号:</td>
                    <td><input class=" form-control" type="text" name="Log_name" value="" /></td>
                </tr>
                <tr>
                    <td>密码:</td>
                    <td><input class=" form-control" type="password" name="Log_password" value="" />  </td>
                </tr>
                <tr>
                    <td colspan="2" align="center"><input  class="btn btn-primary btn-sm" type="submit" value="添加" /></td>
                </tr>
            </table>
        </form>
    </div>
</body>
</html>

 

---恢复内容结束---

posted @ 2018-07-29 19:33  雨心不碎  阅读(396)  评论(0编辑  收藏  举报