webform设计思路的思考,通用分页存储过程

if exists(select * from sys.objects where name='存储过程名称')
drop proc 存储过程名称
go
CREATE proc 存储过程名称
@tableName varchar(8000),          --表名、视图名
@indexCol varchar(50) = 'a.id',      --标识列名(如:比如主键、标识,推荐使用索引列)
@pageSize int = 10,                --页面大小
@pageIndex int = 0,                --当前页
@orderCol varchar(100) = 'a.id desc',--排序 (如:id)
@where varchar(max) = '',         --条件
@columns varchar(500) = '*'        --要显示的列
as
declare @sql varchar(max)
declare @sql2 varchar(max)
declare @where2 varchar(max)

     我使用asp.net的webform框架进行web应用程序的开发已经差不多四年了,在整个开发生涯中,也使用过一年asp.net的mvc框架。因为网上经常有讨论webform框架和mvc框架的优劣,所以自己也对这两者进行了关注,因为自己最熟悉webform框架,所以就会考虑它的优势是什么?设计思路是什么?

由于mysql默认8小时连接无访问,就会断开.为此查了一下资料,有同种比较简单的解决方案:

if @where <> ''
begin
    select @where2 = ' And ' @where
    select @where = ' Where ' @where
end
else
    select @where2 = ''

    要理解asp.net的设计思路,必须考虑它的产生年代,产生的技术基础,还有观察同时代其他动态网页技术的特点和思路。

  1. 增加 MySQL 的 wait_timeout 属性的值。 

select @sql = 'Select Top ' Convert(varchar(10),@pageSize) ' ' @columns ' From ' @tableName
select @sql2 = @sql @where
select @sql =  @sql ' Where ' '(' @indexCol ' Not In (Select Top ' Convert(varchar(10),  ((@pageIndex-1)*@pageSize)) ' ' @indexCol

   首先是产生asp.net的技术基础,以下援引百度百科:

修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置: 
# Set a connection to wait 8hours in idle status.  wait_timeout =86400 

  • ' From ' @tableName @where   ' Order by ' @orderCol '))'
    select @sql = @sql @where2
    select @sql = @sql ' Order by ' @orderCol
    --获取数据集
    exec (@sql)
    PRINT @sql
    select @sql2 = Replace(@sql2,'Top ' Convert(varchar(10), @pageSize) ' ' @columns, 'count(1)')
    --获取总数据条数
    exec(@sql2)

*   “1996年,ASP 1.0(Active Server Pages)版本出现了,它引起了Web开发的新革命,降低了动态网页开发的难度。以前开发动态网页需要编写大量繁杂的C代码,编程效率非常低下,而且需要Web网页开发者掌握非常高的编程技巧。而ASP使用简单的脚本语言,能够将代码直接嵌入HTML,使设计Web页面变得更简单。虽然ASP非常简单,但却能够实现非常强大的功能,这一切得益于其组件。特别是ADO组件,使得在网页中访问数据库易如反掌。这一切推动了动态网页的快速发展与建设,同时使ASP得到迅速流行。*

将这2个参数设置为24小时(60*60*24=604800)即可。  set interactive_timeout=604800;  set wait_timeout=604800; 

GO

*    1998年,微软公司发布了ASP 2.0,它是作为Windows NT 4 Option Pack的一部分提供的。ASP 2.0与ASP 1.0的主要区别是外部的组件可以初始化,使所有的组件都有了独立的内存空间,并且可以进行事务处理。内置的Microsoft Transaction Server(MTS)使制作组件变得更容易。*

但仍然并不完美,一旦超过这个时间没有连接,仍然会报错.为此我设计了第二种方案,防止超时,以期终极解决

*    2000年6月,微软公司宣布了自己的.NET框架。.NET框架的基本思想是:把原有的重点从连接到互联网的单一网站或设备转移到计算机、设备和服务群组上,而将互联网本身作为新一代操作系统的基础。这样,用户将能够控制信息的传送方式、时间和内容,从而得到更多的服务。*

2.定时访问数据库,在超时之内访问mysql,就可以避免mysql断开连接

*    2001年,ASP.NET浮出水面。它最初的名字为ASP ,后来改为ASP.NET。ASP.NET是微软公司开发的一种建立在.NET之上的Web运行环境,它不是ASP的简单升级,而是新一代的Active Server Pages。ASP.NET是微软公司新体系结构Microsoft.NET的一部分,其中全新的技术架构使编程变得更加简单。借助于ASP.NET,可以创造出内容丰富的、动态的、个性化的Web站点。ASP.NET简单易学、功能强大、应用灵活、扩展性好,可以使用任何.NET兼容语言。 [4-5] *

 

*    2002年微软发布.NET正式版本.NET Framework 1.0,其中的ASP版本就是ASP.NET 1.0,在此以前发布了两个.NET测试版本Betal和Beta2。*

var cnt=0;
var conn=function(){
    connection.query('USE '  db);     //查询MySQL中数据库
    cnt  ;
    console.log("Mysql重连接成功! 次数:" cnt);
}


//conn;
    setInterval(conn, 60*1000);//循环执行

*    2003年微软发布了.NET Frameworrk 1.1正式版,其中ASP版本就是ASP.NET 1.1。*

 

*    2005年微软发布.NET Framework 2.0正式版本,也就是ASP.NET 2.0。*”

 

    这是一段引自百度百科,介绍从asp发展到asp.net的记述。阅读这段记述你应该意识到,asp.net是从asp1.0开始发展来的,但是它不是直接从asp发展到asp.net的,首先是asp1.0,然后是asp2.0,然后是asp ,再然后改名为asp.net(这里如果分开看就是asp  、  .net这是两个词,因为在asp的发展过程中另一个大的项目.net出现了,.net为什么出现,不在讨论范围,可以自行百度)。asp.net1.1技术的web框架就是webform。

    虽然我没打算梳理叙述.net的产生和发展,但是asp.net webform的产生却和.net平台非常紧密。

    在asp产生的前两年,产生了另外一个非常有名的动态网页技术,那就是PHP。这里援引一下php的概念:

   “PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。”

本文由ca88手机版登录发布于亚洲城ca88手机版官网,转载请注明出处:webform设计思路的思考,通用分页存储过程

TAG标签: ca88手机版登录
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。