ado+sql存储过程分页

本文介绍了一个使用C#进行SQL参数化查询的方法,包括如何构建动态SQL语句和执行存储过程来实现数据分页。通过示例代码展示了如何根据传入的参数动态拼接SQL查询条件,并使用SqlParameter集合传递参数,避免SQL注入风险,同时实现了数据的高效分页显示。

 

        public string RoomShow(int shen, int shi,int pageindex,int pagesize)
        {
            string sql = "where 1=1";
            if(shen!=0)
            {
                sql += " and Rshen=" + shen;
            }
            if(shi!=0)
            {
                sql += " and Rshi=" + shi;
            }
            using (SqlConnection conn=new SqlConnection("Data Source=.;Initial Catalog=a1;Integrated Security=True"))
            {
                conn.Open();
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "RoomProc";
                cmd.Parameters.AddWithValue("@pageindex", pageindex);
                cmd.Parameters.AddWithValue("@pagesize", pagesize);
                cmd.Parameters.AddWithValue("@tiao", sql);
                SqlParameter paraout = cmd.Parameters.Add("@count", SqlDbType.Int);
                paraout.Direction = ParameterDirection.Output;
                using (SqlDataAdapter ada=new SqlDataAdapter(cmd))
                {
                    Pager page = new Pager();
                    DataTable dt = new DataTable();
                    ada.Fill(dt);
                    
                    page.Count = (int)paraout.Value;
                    string json = JsonConvert.SerializeObject(dt);
                    page.list = JsonConvert.DeserializeObject<List<Room>>(json).ToList();
                    string str=JsonConvert.SerializeObject(page);
                    return str;
                }
            }
            

        }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值