asp, 编程, 程也, 也来, 来玩
最近想玩玩ASP编程,怀念一下,想到在ASP编程里用javascript的脚本,js的一些东西似乎比较有趣。实际上也就写了两个简单的类,一个DbHelper,一个BusinessRules,分得不是那么明确。 DbHelper中实际上只有5个技术: Open(connectionString);//打开数据连接。connectionString:网站数据库连接字符串(可略,略则调用类中指定的默认连接字符串)。 Close();//关闭数据连接。 ExecuteNonQuery(sql);//执行SQL数据库语句,[返回受影响的行数](中括号中的内容没达到,似乎有些问题)。 ExecuteReader(sql);//返回一个数据记录集,当然,是与数据源断开的。 ExecuteScaler(sql);//执行SQL数据库语句,返回第一行第一列的数据。 BusinessRules也只有几个简单的技术: GetEntity(conditions);//根据指定的查询条件取得单个实体。 Insert(entity, identity);//将单个实体插入网站数据库。identity:如果传入主键列名,则插入数据后实体的主键属性会得到网站数据库中对应的主键值。 Update(entity, conditions);//将单个实体更新到网站数据库,conditions:更新条件。 Delete(conditions);//按指定的条件删除数据。(参数略则删除全部数据) GetList(num, conditions, sortOrder);//取得数据列表。num:指定数量,0表示取符合条件的全部数据。conditions:查询条件,sortOrder:排序方式。(所有参数可略) GetPageList(pageIndex, pageSize, conditions, sortOrder);//取得分页数据列表。conditions:查询条件(可为空),sortOrder:排序方式(必须)。 要用的时候直接就可以了。 怎么用呢: 假设咱们有一个评论表Comment。 有以下字段: ID:int,自增字段。 Title:nvarchar,标题。 Body:nvarchar,内容。 UserID:int,发表评论的用户ID。 State:bit,状态。 CreateTime:DateTime,发表时间。 示例具体代码如下: <@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%> <% var CommentBLL = new BusinessRules("Comment");//参数Comment是表名. var entity = CommentBLL.GetEntity("id = 1");//这样就得到了一个ID为1的评论记录了. for(var x in entity)//打印出实体的所有属性和值. { Response.Write(x ":" entity[x] " "); } //当然js有很多种取值方式: Response.Write("Title : " entity.Title);//遗憾的是没有智能感知,怎么点也点不出属性来,呵呵. Response.Write("UserID : " entity["UserID"]); //插入: var comment = { Title : "Javascript Demo", Body : "Hello, Robot!", UserID : 1, State : false, CreateTime : new Date().toLocaleString() } if(CommentBLL.Insert(comment, "ID")) { Response.Write("success!" comment.ID);//插入数据后comment的ID就会得到网站数据库中自动递增的值. } //更新:延续用上面的实体吧 with(comment) { ID = undefiend;//这个是自动递增的列,不能赋值,所以要删掉. Title = "-->update"; State = true; } if(CommentBLL.Update(entity,"ID = 1"))//假设要更新的ID为1. { Response.Write("success!"); } //删除: if(CommentBLL.Delete("ID = 1"))//删除ID为1的评论. { Response.Write("success!"); } //取得数据列表: var list = CommentBLL.GetList(0,"Body like %博客园%","CreateTime Desc");//取得内容中包含"博客园"的数据列表. for(var x = 0; x < list.length; x )//打印列表. { Response.Write(x " -->" " Title : " list[x].Title " "); Response.Write(x " -->" " Body : " list[x]["Body"] " "); } //取得分页数据列表: var pageList = CommentBLL.GetPageList(1, 10, null, "CreateTime Desc");//取得所有数据的第一页数据列表. //这里返回的数据会比GetList返回的数据多一个RecordCount属性. Response.Write("符合条件的记录总数 : " pageList.RecordCount " "); //打印数据同上,略... %> 只达到了一些简单的功能,估计问题也多多,只是兴趣来了随便写写,我比较火星,见得东西少,大驾见怪不要怪。呵呵。GetPageList用的是MSSQL2005里的Row_Number()来分页的,不能通用,mssql2k/access改一下就行了。 当然也可以弄得更强大,比如弄几个类来映射数据表/字段等等,不过没时间写那么多,有时间拿来做个简单的项目玩玩还可以。还是有些怀念ASP编程的简单,虽然我ASP编程比较菜。 |
|
名站网址导航 于 2020-7-22 20:56 移动 @版权声明 名站网址导航声明: 1.该文观点仅代表作者本人,名站网址导航系信息发布平台,名站网址导航仅提供信息存储空间服务。 2.名站网址导航所发布的一切资源、破解补丁、注册机和注册信息及软件的解密分析文章等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该网站程序,请支持正版软件,购买注册,得到更好的正版服务。 3.如有侵权请邮件与咱们联系删除或处理(邮箱:[email 988365@gmail.com] ),本站将立即改正,谢谢。
实例解析:从IIS的ASP编程迁移到APACHE的PHPdL3AIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
dL3AIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!