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

内容:

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

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

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

 public class StuAskDAL
{
public static BaseDAL<StuAsk> m_StuAskDal = new BaseDAL<StuAsk>();
// 获取到用户信息表和帖子表的联合数据
public static DataTable GetStuInnerAsk(int pageindex, int pagesize, string strWhere)
{
string strSql = string.Format(@"select top {0} *from
(select ROW_NUMBER() over (order by UserId) as rownumber,* from
(
select UI.UserId,UI.RealName,UI.UserName,UI.Pwd,UI.Phase,UI.QQ,SA.AskId,
SA.Title,SA.AskCategory from UserInfor UI inner join StuAsk SA on
UI.UserId=SA.UserId where {2}
)AB
)B where rownumber>{0}*({1}-1) ", pagesize, pageindex, strWhere);
DataTable dt = SqlHelper.ExecuteDataTable(DataBaseEnum.con, strSql, CommandType.Text, null);
return dt;
}
// 获取到用户名和帖子表的总记录数
public static int GetStuInnerAskCount()
{
string strSql = @"select UI.UserId,UI.RealName,UI.UserName,UI.Pwd,UI.Phase,UI.QQ,SA.AskId,
SA.Title,SA.AskCategory from UserInfor UI inner join StuAsk SA on
UI.UserId=SA.UserId";
DataTable dt = SqlHelper.ExecuteDataTable(DataBaseEnum.con, strSql, CommandType.Text, null);
return dt.Rows.Count;
}
}
 public partial class UserInnerAsk : System.Web.UI.Page
{
private int PageCount = ;
private int PageSize = ;//一页多少条数据
private int _pageIndex;
public int PageIndex
{
get
{
try
{
_pageIndex = Request.QueryString["page"] == null ? : Convert.ToInt32(Request.QueryString["page"].ToString());
}
catch
{
_pageIndex = ;
}
return _pageIndex;
}
set { _pageIndex = value; }
}
public string GetWhere()
{
StringBuilder sb = new StringBuilder();
sb.Append("1=1");
if (!string.IsNullOrEmpty(txtQQ.Text.Trim()) && WebSafe.SqlInsert(txtQQ.Text.Trim()))
{
sb.Append(string.Format(" and UI.QQ={0}", txtQQ.Text.Trim()));
}
return sb.ToString();
}
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = StuAskDAL.GetStuInnerAsk(PageIndex, PageSize, GetWhere());
GridView1.DataSource = dt;
GridView1.DataBind();
}
public string GetPager()
{
string s = Pager.GetPagerHtml(PageIndex, PageSize, StuAskDAL.GetStuInnerAskCount(), "UserInnerAsk.aspx");
return s;
}
protected void btnSel_Click(object sender, EventArgs e)
{ }
}

  4.和数据库交互总结:

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

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

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

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

后记:

ASP.NET动态网站制作(29)-- 正则的更多相关文章

  1. ASP.NET动态网站制作(3)--css(2)

    前言:css分为四次课讲完,第一节课内容见ASP.NET动态网站制作(2)--css(1),接下来的内容会涉及到定位.浮动.盒子模型(第二次课).css的具体应用(第三次课).css3(第四次课).今 ...

  2. ASP.NET动态网站制作(20)-- C#(3)

    前言:C#的第三节课,继续上次课的内容,依旧围绕基础的只是讲解. 内容: 1.StringBuilder类:由于string类一旦创建,则不能更改.如果做字符串拼凑的话,将会非常耗费空间,如: str ...

  3. ASP.NET动态网站制作(1)--html

    前言:正式上课的第一课,讲的是前端部分的最基础内容:html. 前端:html,css,js 数据库:sql server 动态部分:.net,c#... IIS(Internet Informati ...

  4. ASP.NET动态网站制作(0)

    前言:一直想系统地学习一下网站建设的相关内容,看过相关的书籍,也跟着视频学过,但总觉得效率不高,学过的东西印象不深刻,或许还是自己动手实践的少.无意中免费听了一堂讲ASP.NET网站建设的课,觉得性价 ...

  5. ASP.NET动态网站制作(30)-- WEBService

    前言:继续讲正则表达式,然后介绍一下webservice. 内容: 1.匹配QQ号的正则表达式:^[1-9]\d{4,10}$:匹配手机号的正则表达式:^(0|86)?(13|14|15|18)[0- ...

  6. ASP.NET动态网站制作(28)-- 三层框架(2)

    前言:三层框架的第二节课,继续上次课的内容. 内容: 1.三层框架的使用目的:可以将视图层和业务逻辑层及实体层分开,可以提高代码的扩展性,安全性,可以实现程序的低耦合性. 2.GetModel方法及G ...

  7. ASP.NET动态网站制作(26)-- Ajax

    前言:这节课讲解关于Ajax的相关内容. 内容: 1.当点击页面中的一个按钮提交数据或请求数据的时候,整个页面的信息都会提交(不管信息是否是提交或者请求的数据,页面中所有的数据都提交),这样耗用的时间 ...

  8. ASP.NET动态网站制作(24)-- ADO.NET(3)

    前言:ADO.NET的第三节课.今天主要讲SQL Helper. 内容: 1.DataReader和DataSet的区别: (1)DataReader是一行一行地读,且只能向前读:DataSet是一次 ...

  9. ASP.NET动态网站制作(22)-- ADO.NET(1)

    前言:这节课开始真正地学习WEB开发,ADO.NET就是一组允许.NET开发人员使用标准的.机构化的,甚至无连接的方式与数据交互的技术.所属的类库为:System.Data.dll. 内容: 1.AD ...

随机推荐

  1. Gradle项目学习 & HttpAsyncClient学习 & CountDownLatch学习

    装了Intellij,就是装了Gradle. 新建一个Gradle项目.然后下面这个页面要勾选上面两项: Use auto-import和Create directories for empty co ...

  2. GPU Skin

    http://blog.csdn.net/leonwei/article/details/77387357 TPOSE存vbo 每根骨骼的matrices存在貼圖裏用vertex fetch 做GPU ...

  3. IBM AppScan安全測试一例——已解密的登录请求

    问题严重级别:高 此类问题在做政府项目(第三方软件评測中心)验收的时,须要马上整改.例如以下图:

  4. Java笔记9:Spring简单Demo

      1 下载spring-framework-3.0.5.RELEASE-with-docs.zip和spring-framework-3.0.5.RELEASE-dependencies.zip,放 ...

  5. 搭建MongoDB分片集群

    在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考. 计划如下: 用5台机器搭建,IP分别为:192.168.58.5.192.168.58.6.192.168.58.8.19 ...

  6. hibernate.cfg.xml文件连接mySql、Oracle、SqlServer配置

    1.连接mySql,文件配置如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibe ...

  7. 让C#可以像Javascript一样操作Json DynamicJson

    http://blog.csdn.net/lisenyang/article/details/52535314

  8. JSON字符串化

    1.JSON字符串化 JSON字符串化有2个可选参数,分别是replacer和space. 第一个可选参数replacer,它可以是数组或者函数.用来指定哪些属性被处理,哪些属性被排除. 第二个可选参 ...

  9. CSS/JavaScript hacks,browserhacks使用

    1.网址 http://browserhacks.com/ 2.使用 (1)JavaScript Hacks 浏览器js判断 (2)条件注释hack (3)Media Query Hacks 媒体查询 ...

  10. hdu3415 Max Sum of Max-K-sub-sequence 单调队列

    //hdu3415 Max Sum of Max-K-sub-sequence //单调队列 //首先想到了预处理出前缀和利用s[i] - s[j]表示(j,i]段的和 //之后的问题就转换成了求一个 ...