联合查询到gridview

时间:2023-03-08 18:01:47
 using com.DAL.Base;
using DAL.ruanmou;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace ASP20170211
{
public partial class UnionSearch : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
BindData();
}
public int PageSize = ;
private int _page;
public int PageIndex
{
get
{
try
{
_page = Request.QueryString["page"] == null ? : Convert.ToInt32(Request.QueryString["page"].ToString());
}
catch (Exception ex)
{
_page = ;
}
return _page;
}
set { _page = value; }
}
List<dbParam> listPm = new List<dbParam>();
public string GetSql()
{
StringBuilder sb = new StringBuilder();
sb.Append("1=1");
if (!string.IsNullOrEmpty(txtSUserName.Text.Trim()))
{
sb.Append(" and UserName=@UserName");
listPm.Add(new dbParam() { ParamName = "@UserName", ParamValue = txtSUserName.Text.Trim() });
}
if (ddlPhase.SelectedIndex > )
{
sb.Append(" and Phase=@Phase");
listPm.Add(new dbParam() { ParamName = "@Phase", ParamValue = ddlPhase.SelectedValue });
}
return sb.ToString();
}
public void BindData()
{
DataTable dt = StuAskDal.GetUserInnerAskDt(PageSize, PageIndex, GetSql(), listPm);
GridView1.DataSource = dt;
GridView1.DataBind();
}
/// <summary>
/// 总页数
/// </summary>
/// <returns></returns>
public int PageCount()
{
int iCount = StuAskDal.GetUserInnerAskCount(listPm, GetSql());
if (iCount % PageSize == )
{
return iCount / PageSize;
}
else
{
double d = Convert.ToDouble(iCount) / Convert.ToDouble(PageSize);
return Convert.ToInt32(Math.Ceiling(d));
}
}
/// <summary>
/// 分页
/// </summary>
/// <returns></returns>
public string GetPager()
{
StringBuilder sb = new StringBuilder();
sb.Append(@"<div><a href=""/UnionSearch.aspx?page=1"">第一页</a></div>");
if (PageIndex == )
{
sb.Append(@"<div><a href=""javascript:;"">上一页</a></div>");
}
else
{
sb.Append(string.Format(@"<div><a href=""/UnionSearch.aspx?page={0}"">上一页</a></div>", PageIndex - ));
}
if (PageIndex == PageCount())
{
sb.Append(@"<div><a href=""javascript:;"">下一页</a></div>");
}
else
{
sb.Append(string.Format(@"<div><a href=""/UnionSearch.aspx?page={0}"">下一页</a></div>", PageIndex + ));
}
sb.Append(string.Format(@"<div><a href=""/UnionSearch.aspx?page={0}"">尾页</a></div>", PageCount()));
sb.Append(string.Format("<div>{0}/{1}</div>", PageIndex, PageCount()));
return sb.ToString();
}
protected void btnSel_Click(object sender, EventArgs e)
{
//自动执行Page_Load
}
}
}

UnionSearch

 using com.DAL.Base;
using Model.ruanmou;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace DAL.ruanmou
{
//联合查询
public class StuAskDal : System.Web.UI.Page
{
public static BaseDAL<StuAsk> m_RNewsDal = new BaseDAL<StuAsk>(); /// <summary>
/// 获取到当前条件下的记录数
/// </summary>
/// <param name="para"></param>
/// <param name="sWhere"></param>
/// <returns></returns>
public static int GetUserInnerAskCount(List<dbParam> para, string sWhere)
{
string sSql = string.Format(@"select UI.UserId from UserInfor
26 UI inner join StuAsk SA on UI.UserId=SA.UserId where 1=1 and {0}", sWhere);
DataTable dt = SqlHelper.ExecuteDataTable(com.Model.Base.DataBaseEnum.sq_ruanmou, sSql, CommandType.Text, para);
return dt.Rows.Count;
} /// <summary>
/// 获取到当前条件下的datatable
/// </summary>
/// <param name="pagesize">每页显示多少条数据</param>
/// <param name="pageindex">页码</param>
/// <param name="sWhere">条件语句</param>
/// <param name="listPm">cmd参数</param>
/// <returns></returns>
public static DataTable GetUserInnerAskDt(int pagesize, int pageindex, string sWhere, List<dbParam> listPm)
{
string sSql = string.Format(@"select top {0}*
42 from
43 (
44 select row_number() over(order by AskId) as rownumber,* from
45 (select UI.UserId,UI.UserName,UI.Phase,SA.AskId,SA.Title,SA.AskCategory
46 from UserInfor UI inner join StuAsk SA on
47 UI.UserId=SA.UserId) UISA where {2}
48 )A
49 where rownumber>({1}-1)*{0}", pagesize, pageindex, sWhere);
DataTable dt = SqlHelper.ExecuteDataTable(com.Model.Base.DataBaseEnum.sq_ruanmou, sSql, CommandType.Text, listPm);
return dt;
}
}
}
 using com.DAL.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Model.ruanmou;
using com.Utility;
using System.Web; namespace DAL.ruanmou
{
public class RNewsDal : System.Web.UI.Page
{
public static BaseDAL<RNews> m_RNewsDal = new BaseDAL<RNews>();
}
}

RNewsDal

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using com.Model.Base; namespace Model.ruanmou
{
public class RNews : BaseModel
{
public RNews()
{
PrimaryKey = "NewsId";
DataBaseName = DataBaseEnum.sq_ruanmou;
} public int NewsId { get; set; }
public string Title { get; set; }
public string Text { get; set; }
public DateTime CreatedTime { get; set; }
public string NewsClass { get; set; }
public int ViewCount { get; set; } }
}

RNews

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using com.Model.Base; namespace Model.ruanmou
{
public class StuAsk : BaseModel
{
public StuAsk()
{
PrimaryKey = "AskId";
DataBaseName = DataBaseEnum.sq_ruanmou;
} public int AskId { get; set; }
public string Title { get; set; }
public string Text { get; set; }
public int AskCategory { get; set; }//1表示前端,2表示数据库,3表示.net,4表示ps
public DateTime CreateTime { get; set; }
public int UserId { get; set; }
public string ClientIP { get; set; }
}
}

StuAsk