ASP.NET动态网站制作(29)-- 正则
前言:继续讲框架,然后介绍正则的相关知识。
内容:
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)-- 正则的更多相关文章
- ASP.NET动态网站制作(3)--css(2)
前言:css分为四次课讲完,第一节课内容见ASP.NET动态网站制作(2)--css(1),接下来的内容会涉及到定位.浮动.盒子模型(第二次课).css的具体应用(第三次课).css3(第四次课).今 ...
- ASP.NET动态网站制作(20)-- C#(3)
前言:C#的第三节课,继续上次课的内容,依旧围绕基础的只是讲解. 内容: 1.StringBuilder类:由于string类一旦创建,则不能更改.如果做字符串拼凑的话,将会非常耗费空间,如: str ...
- ASP.NET动态网站制作(1)--html
前言:正式上课的第一课,讲的是前端部分的最基础内容:html. 前端:html,css,js 数据库:sql server 动态部分:.net,c#... IIS(Internet Informati ...
- ASP.NET动态网站制作(0)
前言:一直想系统地学习一下网站建设的相关内容,看过相关的书籍,也跟着视频学过,但总觉得效率不高,学过的东西印象不深刻,或许还是自己动手实践的少.无意中免费听了一堂讲ASP.NET网站建设的课,觉得性价 ...
- ASP.NET动态网站制作(30)-- WEBService
前言:继续讲正则表达式,然后介绍一下webservice. 内容: 1.匹配QQ号的正则表达式:^[1-9]\d{4,10}$:匹配手机号的正则表达式:^(0|86)?(13|14|15|18)[0- ...
- ASP.NET动态网站制作(28)-- 三层框架(2)
前言:三层框架的第二节课,继续上次课的内容. 内容: 1.三层框架的使用目的:可以将视图层和业务逻辑层及实体层分开,可以提高代码的扩展性,安全性,可以实现程序的低耦合性. 2.GetModel方法及G ...
- ASP.NET动态网站制作(26)-- Ajax
前言:这节课讲解关于Ajax的相关内容. 内容: 1.当点击页面中的一个按钮提交数据或请求数据的时候,整个页面的信息都会提交(不管信息是否是提交或者请求的数据,页面中所有的数据都提交),这样耗用的时间 ...
- ASP.NET动态网站制作(24)-- ADO.NET(3)
前言:ADO.NET的第三节课.今天主要讲SQL Helper. 内容: 1.DataReader和DataSet的区别: (1)DataReader是一行一行地读,且只能向前读:DataSet是一次 ...
- ASP.NET动态网站制作(22)-- ADO.NET(1)
前言:这节课开始真正地学习WEB开发,ADO.NET就是一组允许.NET开发人员使用标准的.机构化的,甚至无连接的方式与数据交互的技术.所属的类库为:System.Data.dll. 内容: 1.AD ...
随机推荐
- MVC架构、WebForm与MVC对比
ylbtech-ASP.NET MVC:WebForm与MVC对比 功能描述:WebForm与MVC对比 A.1,MVC架构 •MVC(Model-View-Controller)用于表示一种软件架构 ...
- LWIP的移植笔记
第一次发表博客,文章摘录于还不懂同学的专栏 lwIp的作者做了大量的工作以方便像我这种懒人移植该协议栈,基本上只需修改一个配置头文件和改写3个函数即可完成lwIP的移植.要改写的函数位于lwIP-1. ...
- spring 动态定时任务
功能介绍:商品自动上架.按修改或添加时设置的自动上架时间而启动定时任务 更改商品状态为上架. spring 中配置文件 <?xml version="1.0" encodin ...
- 解决Linux下3T硬盘分区只有2T(2199G)可用
分区转换成GPT即可 sudo parted /dev/sdb 将MBR硬盘格式化为GPT mklabel gpt 之后可以看一下状态 print 整个硬盘空间只分一个区 mkpart primary ...
- Openerp图片路径处理
Openerp目前存储图片如人力资源头像图片等都是以二进制的方式存储在数据库中,若要修改数据库里只存储路径可以用这种方法 Image 装饰器: Image装饰器包含3中图片显示 Image 大图片 i ...
- lucene 查询
csdn blog - Lucene 3.0 的Query Parser(查询语法) ibm developerWorks - 使用 Apache Lucene 2.4.1 搜索文本 osch ...
- paho-mqtt 学习笔记
Installation The latest stable version is available in the Python Package Index (PyPi) and can be in ...
- 解决带fusionCharts的页面多次点击后不显示的问题
问题: 假设不使用公司封装的fusioncharts.使用自己定义的.建议不要使用例如以下方法 使用$(document).ready( 页面载入完之后再载入,会导致多次点击带有fusionchart ...
- 字符串函数---strcmp()与strncmp()具体解释及实现
一.strcmp()与strncmp() strcmp():strcmp(s1,s2); 比較两个字符串. strncmp():strncmp(s1,s2); ...
- Visual Studio- “无法启动此程序,因为计算机中丢失 xxx.dll尝试重新安装该程序以解决此问题"
下午使用VS 2013调试程序时,发现弹出了下列的错误弹框: 网上搜索之后发现是缺失了动态链接库(.dll)文件所致,因此只需要把相应的动态链接库文件放置到指定的目录即可. 另:64位系统用户需要注意 ...