zoukankan      html  css  js  c++  java
  • ASP.NET动态网站制作(29)-- 正则

    前言:继续讲框架,然后介绍正则的相关知识。

    内容:

      1.封装分页方法,方便以后调用;响应的CSS代码也可以封装。

      2.WEB层里面的页面名称不要和model和dal里面的名称相同。

      3.两个表联合查询的方法,实现分页效果:

     1 public class StuAskDAL
     2 {
     3     public static BaseDAL<StuAsk> m_StuAskDal = new BaseDAL<StuAsk>();
     4     // 获取到用户信息表和帖子表的联合数据
     5     public static DataTable GetStuInnerAsk(int pageindex, int pagesize, string strWhere)
     6     {
     7        string strSql = string.Format(@"select top {0} *from 
     8 (select ROW_NUMBER() over (order by UserId) as rownumber,* from
     9 (
    10 select UI.UserId,UI.RealName,UI.UserName,UI.Pwd,UI.Phase,UI.QQ,SA.AskId,
    11 SA.Title,SA.AskCategory from UserInfor UI inner join StuAsk SA on
    12 UI.UserId=SA.UserId where {2}
    13 )AB
    14 )B where rownumber>{0}*({1}-1) ", pagesize, pageindex, strWhere);
    15         DataTable dt = SqlHelper.ExecuteDataTable(DataBaseEnum.con, strSql, CommandType.Text, null);
    16         return dt;
    17     }
    18     // 获取到用户名和帖子表的总记录数
    19     public static int GetStuInnerAskCount()
    20     {
    21         string strSql = @"select UI.UserId,UI.RealName,UI.UserName,UI.Pwd,UI.Phase,UI.QQ,SA.AskId,
    22 SA.Title,SA.AskCategory from UserInfor UI inner join StuAsk SA on
    23 UI.UserId=SA.UserId";
    24         DataTable dt = SqlHelper.ExecuteDataTable(DataBaseEnum.con, strSql, CommandType.Text, null);
    25         return dt.Rows.Count;
    26     }
    27 }
     1 public partial class UserInnerAsk : System.Web.UI.Page
     2 {
     3     private int PageCount = 0;
     4     private int PageSize = 10;//一页多少条数据
     5     private int _pageIndex;
     6     public int PageIndex
     7     {
     8         get
     9         {
    10             try
    11             {
    12                 _pageIndex = Request.QueryString["page"] == null ? 1 : Convert.ToInt32(Request.QueryString["page"].ToString());
    13             }
    14             catch
    15             {
    16                 _pageIndex = 1;
    17             }
    18             return _pageIndex;
    19         }
    20         set { _pageIndex = value; }
    21     }
    22     public string GetWhere()
    23     {
    24         StringBuilder sb = new StringBuilder();
    25         sb.Append("1=1");
    26         if (!string.IsNullOrEmpty(txtQQ.Text.Trim()) && WebSafe.SqlInsert(txtQQ.Text.Trim()))
    27         {
    28             sb.Append(string.Format(" and UI.QQ={0}", txtQQ.Text.Trim()));
    29         }
    30         return sb.ToString();
    31     }
    32     protected void Page_Load(object sender, EventArgs e)
    33     {
    34         DataTable dt = StuAskDAL.GetStuInnerAsk(PageIndex, PageSize, GetWhere());
    35         GridView1.DataSource = dt;
    36         GridView1.DataBind();
    37     }
    38     public string GetPager()
    39     {
    40         string s = Pager.GetPagerHtml(PageIndex, PageSize, StuAskDAL.GetStuInnerAskCount(), "UserInnerAsk.aspx");
    41         return s;
    42     }
    43     protected void btnSel_Click(object sender, EventArgs e)
    44     {
    45 
    46     }
    47 }

       4.和数据库交互总结:

      (1)对于一张表的话,用GetModel()获取到某一行的数据;GetCount()获取到记录数;GetList()获取到一个集合;Delete()删除;Update()更改;Add()添加。

      (2)对于多表联合查询,用SqlHelper。

      5.正则表达式:用于数据匹配。用于注册等场合,还可用于抓取数据。

      6.测试正则表达式的一个小工具:tool.chinaz.com/regex/

    后记:

  • 相关阅读:
    c/c++面试45-50之字符串
    c/c++面试39-44之内存动态分配
    使用spring配合Junit进行单元测试的总结
    使用springBoot进行快速开发
    配置项目使用weblogic的JNDI数据源
    转载-解决使用httpClient 4.3.x登陆 https时的证书报错问题
    SpringData JPA查询分页demo
    Lucene中的域选项
    代码片段,lucene基本操作(基于lucene4.10.2)
    配置maven使用nexus
  • 原文地址:https://www.cnblogs.com/zoe-yan/p/4986995.html
Copyright © 2011-2022 走看看