经过前几节的学习,我们对LV类和ASP的输入输出应该已经很熟练了吧,而且我们也已经了解了LV与ASP通讯的基本原理。这个原理可能并不复杂,不过如果你想利用它做出点东西来,关键还是要看你ASP和FLASH的基本功了。遗憾的是这篇教程主要讲述FLASH与ASP通讯原理,更详细更高级的ASP和FLASH技巧,我恐怕不能多讲,不然这篇教程不知道什么时候才能写完,同时也会失去重点。这节我将简单的罗列一些ASP操作ACCESS数据库的基本知识,注意,我只是点到为止,更详细的资料和讲解网上很多,你可以自己去搜索。

→首先我们需要建立一个ACCESS数据库文件,命名为“shujuku.mdb”,并在其中新建数据表,命名为“shujubiao”。数据表中字段名称、字段类型和字段内容如下图所示。示例的数据库可以在最后下载,下载后请保存起来,因为我以后的讲解都会用到它。

→然后在数据库同文件夹下建立一个操作数据库的ASP文件,命名为“caozuo.asp”,并输入以下代码:
<%@LANGUAGE="JAVASCRIPT"%>
<%
//建立一个数据库链接对象        
lianjie = Server.CreateObject("ADODB.Connection");
//用已经建立的数据库链接对象打开数据库
lianjie.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("shujuku.mdb"));
//创建一个“记录集”,即“Recordset”,它的任务是储存从数据库里提取出来的数据
rs = Server.CreateObject("ADODB.Recordset");
//创建查询数据库的SQL语句,这里将查出“shujubiao”中的所有数据
sql="select * from shujubiao";
//执行数据库查询,最后的数字参数主要用来指定打开和查询数据库的方式,有兴趣可以百度一下
rs.Open(sql, lianjie, 3);
%>

●说明:上面的代码,除了SQL语句外,每个ASP文件差不多都是类似的,主要用来初始和查询数据。数据是提出来了,但如果你想要按自己方式使用它们,还是要借助JS脚本来实现。另外这里要着重说一下SQL,SQL是专门用来查询数据库的语言,它可以按指定的规则查询数据库中指定的表和字段,功能强大,却又非常容易理解,基本可以从字面意思猜出其功能来,这一节的最后我会仔细讲一下常用的SQL语句。

→现在先回到我们的ASP中,继续在“caozuo.asp”中追加以下代码:
<%
//当前显示的页数,这里设置为第一页
var dangqianye=1;
//每页显示的记录条数,这里设置为5条
var meiyejilu=5;
//获取记录总条数
var zongtiaoshu=rs.RecordCount;
//设置每页显示的记录条数
rs.PageSize=meiyejilu;
//设置当前显示的页码
rs.AbsolutePage=dangqianye;
//获取总页数
var zongyeshu=rs.PageCount; 
//输出总页数、总条数、每页记录条数以及当前页码
Response.Write("总条数为:"+zongtiaoshu+"<br>总页数为:"+zongyeshu+"<br>每页记录条数:"+meiyejilu+"<br>当前页:"+dangqianye+"<br>");
%>

●说明:先在IIS下运行一下,你会看到网页上显示:
总条数为:13
总页数为:3
每页记录条数:5
当前页:1

有兴趣的朋友可以自己修改一下“meiyejilu”的值,然后再运行看看它和总页数存在什么关系,相信聪明的你一定能找到其中的规律:)注意,这里我一直在用“rs”,在第一段举例的代码中我已经注释过了,“rs”是“Recordset”对象的一个实例,我们从数据库里查询出来的数据都会储存在这个实例中,我们之所以这么做,是因为“Recordset”对象有很多属性和方法,方便我们使用,比如这里的“PageSize”和“AbsolutePage”。

→光显示条数和页数没什么太大意义,我们要的是记录中的内容,好的,现在继续追加以下代码:
<%
//声明一个变量用来存储要输出的内容,初始为空
var shuchuneirong="";
//利用循环显示一页的所有内容,具体的页码在第二段代码的“rs.AbsolutePage”中指定了
for (i=0;i<meiyejilu;i++){
  //if的作用下面再进行说明
  if(!rs.EOF){
  //获取字段内容
  var xuhao=rs("xuhao");
  var xingming=rs("xingming");
  var yuwen=rs("yuwen");
  var shuxue=rs("shuxue");
  //一次循环将获得一条记录的所有内容,然后把这条记录追加到变量“shuchuneirong”中,这样循环结束的时候,它将储存本页所有的记录内容
  shuchuneirong =shuchuneirong+"<br>序号:"+ xuhao +" | 姓名:"+xingming+" | 语文:"+yuwen+" | 数学:"+shuxue;
  //本次循环结束后,将记录集指定到下一条记录
  //上面的if判断将在这里发挥作用,当我们显示最后一页的时候,剩余的记录数很可能小于设定的每页记录数
  //如果不加判断,rs就很有可能溢出界限,从而导致错误
  rs.MoveNext(); 
  }
}
//在网页中按指定格式输出本页所有的记录内容
Response.Write(shuchuneirong);
//关闭记录集对象
rs.Close();
//关闭连接对象
lianjie.Close();
%>

●说明:啥都不说了,保存并运行吧,我们会在网页中看到下面的输出内容:
总条数为:13
总页数为:3
每页记录条数:5
当前页:1

序号:1 | 姓名:周星驰 | 语文:50 | 数学:72
序号:2 | 姓名:丘淑贞 | 语文:450 | 数学:100
序号:3 | 姓名:舒淇 | 语文:1000 | 数学:2000
序号:4 | 姓名:刘德华 | 语文:200 | 数学:1000
序号:5 | 姓名:小布什 | 语文:500 | 数学:501

然后我们可以修改一下“dangqianye”,只要“当前页”小于等于“总页数”,就能正确显示本页的内容。其实现在很多FLASH留言本中的分页就是用的这一原理,只不过到时候我们不可能像现在这样手动修改“AbsolutePage”的值,我们需要从FLASH传递页码值,然后在ASP中接收并赋值给“AbsolutePage”。哈哈!现在你是不是有点跃跃欲试了?先别急,因为我还有一招入室绝学没传你呢,这套绝学就是那威震武林的SQL。

→说练就练,但为了激发同学们学习的主动性,下面我仅给出做一个简易留言本必备的SQL语句:

1,查询语句
语法:select 字段名 from 数据表名 where 查询条件 order by 排列方式 (不加desc从低到高排序,加上相反)
举例:仅查询“shujubiao”表中“xuhao”,“xingming”两个字段,并且“xuhao”要大于3,结果按“xuhao”倒序排列:
SQL语句:select xuhao,xingming from shujubiao where xuhao>3 order by xuhao desc

2,删除记录
语法:delete from 数据表 where 条件
举例:删除“xingming”为“小布什”的记录:
SQL语句:delete from shujubiao where xingming='小布什'

3,添加记录
语法:insert into 数据表 (字段名) values (字段值)
举例:插入一条新记录,“xingming”为“火山”,“yuwen”为“100”,“shuxue”是“1000”:
SQL语句:insert into shujubiao (xingming, yuwen, shuxue) values ('火山',100,1000)
说明:“xuhao”字段为“自动编号类型”,不需要赋值。

4,更新记录
语法:update 数据表 set 字段值=新值 where 条件
举例:把“xuhao”为“1”的记录中“xingming”字段改为“寂寞火山”,“yuwen”字段改为“200”
SQL语句:update shujubiao set xingming='寂寞火山',yuwen=200 where xuhao=1

有了以上四大护法,打败FLASH留言板足够了,建议大家亲自动手把我写的例句放在“caozuo.asp”中实验一下,直观的体验一下效果。测试时,刷新页面后你可能会看到页面报错,没有关系,这并不影响SQL的执行,这时你可以关闭数据表再打开就可以直接在数据库中会看到效果了。只有第一个例子必须改动一下ASP代码,需要改那里才能使页面正常显示呢?嘿嘿,这个当大家的小作业了,注意看页面的错误提示哦:)

→下星期就要生产实习了,一下就是三个星期,一定要赶在实习前完工,呼呼~~
其实讲到这里,你完全应该可以按着“LV与ASP通讯原理”一节中讲的方法,自己想办法把这节中在网页里显示的内容传递到FLASH里显示了,善于学习的朋友不妨自己先动手试一下,看能做到什么程度:)
文章来自: 闪无忧(www.5uflash.com) 详文参考:http://www.5uflash.com/flashjiaocheng/Flashyuweb/2091.html

FLASH与ASP通信入门教程(四) ASP操作数据库入门相关推荐

  1. LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库

    LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库 前言: 阅读前,请确保你至少拥有以下条件: 已实现显示API(教程一已实现, 链接:LittleVGL (LVGL)入门教程一之 ...

  2. 昆仑通态人机界面与单片机通信实战教程四:单片机程序的设计

    大家好,我是『芯知识学堂』的SingleYork,前面给大家介绍了"昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联",今天笔者就要来给大家介绍这个教程的最后一 ...

  3. PR软件入门教程 Adobe Premiere Pro 快速入门指南

    原文(包含图片)链接:https://www.prjianji.com/1.html 了解如何开始使用面向电影制作人.电视节目制作人.新闻记者.学生和视频制作人员的非线性编辑软件 Premiere P ...

  4. 数据库入门教程(SQL Server 2005)----数据库是如何查询数据的

    数据库入门教程(SQL Server 2005)----数据库是如何查询数据的----查询:逻辑顺序 1.计算列 //以scott数据库中的emp表为例-----where可译为查找,其本质是在进行表 ...

  5. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  6. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 上一个教程:ASP .NET Core 系列教程三:自动生成Razor ...

  7. Python+Opencv图像处理新手入门教程(四):视频内容的读取与导出

    一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(三):阈值与二值化 1.Intro 今天这节我们主要看怎么利用opencv读取并处理视频中的内容. 2.VideoCapture ...

  8. (原创)LEON3入门教程(四):基于AMBA APB总线的七段数码管IP核设计

    摘要:这一小节将介绍下如何设计用户自定义的APB IP,并将IP嵌入到SOPC中去.一个APB IP核的主要分为三个部分:逻辑单元.寄存器单元和接口单元.所设计的IP是一个简单的七段数码管显示IP,只 ...

  9. docker 镜像修改的配置文件自动还原_原创 | 全网最实在的docker入门教程四

    作者:潘吉祥 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些命令就执行失败,我们还不知道错误在哪,这着实有 ...

最新文章

  1. ELK系统之logstash问题:retrying failed action with response code: 429
  2. 完全卸载ORACLE9i
  3. 日志采集框架Flume、Flume介绍、概述、运行机制、Flume采集系统结构图(1、简单结构、复杂结构)
  4. OpenResty 反向代理的用法与技巧
  5. c++中lambda表达式用法
  6. ZOJ_3501 Roman Order
  7. storm metric的使用说明
  8. C++多线程的简单例子
  9. Linux 命令(61)—— ldd 命令
  10. 岑溪高考成绩查询2021,2019岑溪高考成绩喜报(归义中学、筋竹中学、南
  11. Java原生网络编程
  12. [算法]PRML学习笔记1.2.3贝叶斯概率论
  13. 【电子书制作软件哪个好】云展网教程 | 搜索功能:搜索杂志内文字可高亮
  14. JDK与JRE各种版本下载地址
  15. matlab利用经纬度计算距离_经纬度换算距离(matlab根据经纬度算距离公式)
  16. 大学生必知到的外国典故
  17. AD603+MCP4725+STM32-----自动增益控制电路
  18. 微控制器编程技术c语言,8位单片机C语言编程:基于PIC16(用c语言对pic16微控制器进行编程的实用指导)...
  19. 去掉字符串头尾指定字符
  20. windows10怎么用cmd编译C语言,win10怎么样使用cmd来运行程序

热门文章

  1. MIT的《深度学习》精读(3)
  2. 【勝讯云 Finops Crane 集训营】之集群优化实战
  3. net oracle连接池配置,Oracle ODP.NET连接池
  4. linux tty 教程,Linux 终端(TTY)
  5. U 盘启动盘创建工具 Rufus在Linux 上不能使用?这里有 6 个替代品
  6. C++中替代sprintf的std::ostringstream输出流详解
  7. XCopy复制文件夹命令及参数详解
  8. java bmp rgb_如何获取BMP图像每点RGB颜色值
  9. 学习ChatGPT必看 | CSDN精选教程助你轻松掌握神秘黑科技
  10. 如何跟 ChatGPT 视频聊天?