




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章Web数据库的操作 12 1数据库访问流程12 2数据库的连接12 3数据的查询控制12 4数据的添加 删除和修改 本章学习目标 lASP访问数据库的流程l在ASP中连接数据库的4种方法l数据库的常用查询方法l如何确定用户的操作权限l进行数据添加操作的方法l进行数据删除操作的方法l进行数据修改操作的方法 12 1数据库访问流程 进行数据源操作的步骤如下 1 创建与数据库的连接 可以使用ADO中的Connection对象或RecordSet对象的相关属性和方法 2 设定要操作数据库的命令 可以使用ADO中的Connection对象 Command对象或RecordSet对象的相关方法和属性来完成 3 执行命令 可以使用ADO中的Connection对象 Command对象或RecordSet对象的相关方法 4 得到数据后 就可以执行对数据的浏览 增加 删除 修改等操作 这一步通常使用RecordSet对象的有关方法和属性完成 5 关闭数据库 清除有关对象 返回首页 图12 1ADO存取数据源流程 返回本节 12 2数据库的连接 1 在Connection对象中设置ConnectionSTRing参数时 可以通过设置系统数据源 SystemDSN 即通过设置ODBC的方法来连接数据库 关于DSN的设定请参阅前面的章节 在ASP中利用DSN连接数据库的代码如下 Setconn Server CreateObject ADODB Connection conn Open DSN txl UID sa PWD Database txl 2 如果不采用DSN连接数据库 在设置ConnectionSTRing参数时 可以采用直接指定ODBC驱动程序连接数据库 连接SQLServer数据库的代码如下 Setconn Server CreateObject ADODB Connection sTRProvider Driver SQLServer Server zjf Database txl UID sa PWD conn OpensTRProvider 返回首页 3 通过OLEDB连接 代码如下 Setconn Server CreateObject ADODB Connection sTRPro Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password conn OpensTRPro 4 在其他对象中 也可以通过设置ActiveConnection参数 完成对数据源连接的设置 以常用的RecordSet对象为例 可以使用该对象的Open方法 利用设置好的ActiveConnection参数完成对数据库的连接 程序代码如下 Setrs Server CreateObject ADODB RecordSet rs Open t student Provider sqloledb DataSource zjf InitialCatalog adOpenStatic adLockreadOnly adCmdTable 返回本节 12 3数据的查询控制 数据库在网络中的应用大部分集中在数据的查询操作上 数据查询需要使用ADO对象中的Connection对象和RecordSet对象 进行数据查询时 主要使用SQL语句中的Select语句 通过该语句就可以得到所要查询的数据记录 下面的例子将介绍如何利用Session对象和RecordSet对象的AbsolutePosition属性以一页或一条为单位来浏览查询结果 返回首页 例12 1 第1步 建立ASP查询 文件名为select asp 在这个查询中 使用了Session对象存储RecordSet对象 数据库的连接使用了RecordSet对象的Open方法 程序代码如下 设置每一页所要显示的记录条数 这里为9条 Session flag 9 用RecordSet对象的Open方法连接数据库SetSession rs Server CreateObject Adodb recordSet Constr Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password Session rs cursorlocation aduseclientsql select fromt studentorderbyt number 利用RecordSet对象的Open方法创建记录集Session rs Opensql Constr adOpenkeySet adlockreadonly adcmdtext 学号姓名 性别电话籍贯班级民族 记录结束时 当前数据指针在RecordSet对象的位置Session End Session rs Absoluteposition 其中Session rs fields count表示表的字段数Fori 0ToSession rs fields count 1 把当前的数据记录显示出来Response Write Session rs fields i value NextResponse Write 移到下一条数据记录 然后判断是否到表尾 如果是 则把数据指针移到表头Session rs MoveNextIfSession rs EofThenSession rs MovePreviousExitForEndIfNextResponse Write 第2步 建立具有翻页功能的ASP程序 文件名为link asp 该文件将显示 上一页 下一页 开始记录 结束记录 和 数据总条数 等信息 并完成一定的链接关系 如 上一页 及 下一页 加入了超链接 注意 当记录指针位于第一页时 上一页 没有超链接 而当记录指针位于最后一页时 下一页 没有超链接 程序代码如下 数据总条数 Session rs RecordCount 判断是否到表尾或记录解释否 如果是 则只给 上一页 加上超链接If Session rs Eof or Session End Session rs RecordCount ThenResponse Write 上一页 Response Write 下一页 否则看是不是表头 如果是则只给 下一页 加上超链接ElseIf Session rs Bof or Session start 1 ThenResponse Write 上一页 Response Write 下一页 其他情况 都加上超链接ElseResponse Write 上一页 Response Write 下一页 EndIfResponse Write 开始记录 Session Start 结束记录 Session End 图12 2数据控制程序结果1 显示首记录 图12 3数据控制程序结果2 显示表中最后的数据记录 返回本节 12 4数据的添加 删除和修改 12 4 1用户操作权限12 4 2数据的添加12 4 3数据的删除12 4 4数据的修改 返回首页 12 4 1用户操作权限 1 确认用户的权限可以先将用户的名称 密码和权限代码存放在一个数据表中 当用户登录网站时 确认用户名和密码后 从数据库中取得该用户的权限代码 然后利用Session变量标识该用户 假设用户的相关信息都存放在表users中 程序代码如下 取得用户输入的用户名和密码 并去掉空格sTRUserName Trim Request Form Username sTRUserPassword Trim Request Form Userpassword 创建与数据库的连接SetobjDBConn Server Createobject ADODB Connection sTRProvider Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password objdbconn OpensTRProvider SQL查询字符串 sTRSQL SELECT FROMt userWHEREUserName sTRUserName SetobjRS objDBConn Execute sTRSQL 检查用户IfobjRS EOFThen 无此用户Response Redirect UserLogin asp ElseIfTrim objRS UserPassword sTRUserPasswordThen 密码正确 找到用户Session UserName objRS UserName Session UserLevel objRS UserLevel 进入网站的网页Response Redirect main asp Else 密码错误Response Redirect UserLogin asp EndIfSetobjRS NothingSetobjDBConn Nothing 2 确认用户的操作在其他需要验证用户的页面通过该Session变量识别用户 代码如下 IfSession UserLevel 1ThenResponse Redirect Error asp EndIf 图12 5用户没有操作权限 返回本节 12 4 2数据的添加 在网站中 经常有添加数据记录的需求 如一个提供电子邮件服务的网站 常常有人申请加入 这时就要用到添加用户资料的功能 添加数据记录的方法很多 这里主要介绍两种 一种是利用SQL语句中的Insert命令 另一种是利用ADO对象之一的RecordSet对象的AddNew方法 例12 3 第1步 首先创建一个添加数据的页面 INPUT htm 在该页面中详细列出用户需输入的项目 其代码如下 学生基本数据录入姓名 学号 班级 性别 男女民族 籍贯 联系电话 图12 6输入页面显示 第2步 建立表单处理程序 d ins asp 在该程序中利用SQL语句中的Insert命令添加数据记录 这里将示范使用Connection对象的Execute方法运行Insert命令 onerrorresumeNext 取得用户输入的数据t name request form name t number request form number t class request form class t sex request form sex t minzu request form minzu t phone request form phone t jiguan request form jiguan 创建数据库的连接 Setconn Server CreateObject ADODB Connection strProvider Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password conn OpenstrProvider 添加时使用的字段fields array t name t number t class t sex t mizu t phone t jiguan values array t name t number t class t sex t minzu t phone t jiguan sql INSERTINTOt student Join fields VALUES Join values 添加数据conn Executesql 判断执行是否成功Ifconn Errors Count 0ThenResponse Write 系统发生 conn errors Count 个错误 ElseResponse Write 数据添加成功 EndIfSetconn nothing 图12 7数据录入正确和错误的显示 第3步 在添加数据时还可以利用RecordSet对象的AddNew方法增加数据记录 程序代码如下 取得用户输入的数据t name request form name t number request form number t class request form class t sex request form sex t minzu request form minzu t phone request form phone t jiguan request form jiguan 创建数据库的连接 Setconn Server CreateObject ADODB Connection strProvider Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password conn OpenstrProvider 建立RecordSet对象Setrs Server createObject ADODB RecordSet 启动指定的数据表 注意要AdLockOptimistic方式打开rs Open t student strProvider adOpenkeySet adlockOptimistic 添加一条数据记录rs AddNewrs t number value t numberrs t name value t namers t sex value t sex rs t class value t classrs t mizu value t minzurs t phone value t phoners t jiguan value t jiguan 将数据记录回存到表中rs UpdateSetrs nothingSetconn nothing 注意 不能以只读方式打开表 返回本节 12 4 3数据的删除 例12 4 第1步 建立删除页面 在该页面中可以选择删除的记录 其显示结果如下图12 8所示 第2步 建立数据删除程序 可以利用SQL的Delete命令删除数据记录 程序代码如下 第3步 在删除记录时 还可以利用RecordSet对象的Delete方法来删除表中的数据记录 如果要删除的记录可能不止一个 应该采用UpdateBatch方法 程序代码如下 取得被删除记录的标识t number Trim Request delid 创建数据库的连接Setconn Server CreateObject ADODB Connection strProvider Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password conn OpenstrProvider 建立RecordSet对象Setrs Server CreateObject ADODB RecordSet 启动指定的数据表 注意要AdLockOptimistic方式打开rs Open t student Conn adOpenkeySet adlockOptimistic 利用循环检查记录 找到符合条件的记录 删除WhileNOTrs EOFIftrim rs t number value t numberThenrs DeleteEndIfrs MoveNextWend 将数据回存到数据库中rs UpdateBatchrs CloseSetconn nothingSetrs nothing 返回本节 12 4 4数据的修改 例12 5 第1步 建立数据修改页面 在修改数据时 应该向用户显示当前所选择记录的内容 便于修改 因此 在程序的代码中除了能够获得被操作的记录外 如上节所示 还要回显记录内容 程序代码如下所示 取得被编辑记录的标识t number Request editid 创建数据库的连接 Setconn Server CreateObject ADODB Connection strProvider Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password conn OpenstrProvider 建立RecordSet对象Setrs Server createObject ADODB RecordSet 启动指定的数据表rs Open select fromt studentwheret number t number conn adOpenkeySet adlockOptimistic 获得记录值t name rs t name t number rs t number t class rs t class t sex rs t sex t minzu rs t mizu t phone rs t phone t jiguan rs t jiguan 学生基本数据录入姓名 学号 班级 性别 男女民族 籍贯 联系电话 在上例中 显示每个字段的同时显示了其对应的取值 在图12 7的页面中选择 修改 后 屏幕显示如图12 9所示 图12 9修改页面显示 第2步 建立数据修改程序 可以利用SQL语句中的Update命令修改表中的记录 程序代码如下 取得用户输入的数据t name Trim request form name t number Trim request form number t class Trim request form class t sex Trim request form sex t minzu Trim request form minzu t phone Trim request form phone t jiguan Trim request form jiguan 创建数据库的连接Setconn Server CreateObject ADODB Connection strProvider Provider sqloledb DataSource zjf InitialCatalog txl UserID sa Password conn OpenstrProvider 设置修改时的SQL语句field array t name t number t class t sex t mizu t phone t jiguan value array t name t number t class t sex t minzu t phone t jiguan sql UPDATEt studentSET Fori 0Toubound field sql sql field i value i Ifiubound field Thensql sql Else sql sql wheret number t numberEndIfNext 执行修改操作conn ExecutesqlIfconn Errors Count 0ThenResponse Write 系统发生 conn errors Count 个错误 ElseResponse Write 你的信息已成功修改 EndIfSetconn nothing 第3步 也可以利用RecordSet对象的Update或UpdateB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 20xx重阳节晚会主持词4篇
- 农作物加工副产品环保型膨松剂创新创业项目商业计划书
- 网红法律咨询服务与权益保护创新创业项目商业计划书
- 教师招聘之《小学教师招聘》能力检测试卷附答案详解【综合题】
- 押题宝典教师招聘之《幼儿教师招聘》通关考试题库附参考答案详解【培优b卷】
- 教师招聘之《小学教师招聘》通关模拟卷及参考答案详解(基础题)
- 教师招聘之《小学教师招聘》题库检测模拟题及参考答案详解(a卷)
- 2025江西吉安市青原区司法局招聘2人笔试模拟试题及答案解析
- 2025年精准医疗领域:基因检测在罕见遗传病诊断中的应用准确性深度报告
- 2025年绿色建筑示范项目资金申请绿色建筑产业发展规划与战略报告
- 诉讼业务培训课件
- 2025青海黄南尖扎县公安局面向社会招聘警务辅助人员35人笔试参考题库附答案解析
- 2025年秋期新教材教科版二年级上册小学科学教学计划+进度表
- 12345热线培训课件
- 人教版(2024)一年级全一册体育与健康第二单元 健康行为与生活方式 教案
- 2024年宁波市宁海县国有企业招聘笔试真题
- 失语和构音障碍课件
- 2025上半年教师资格证小学《综合素质》笔试真题及答案
- 医院等级评审护理组工作汇报
- 拆零药品培训课件
- PCR课件教学课件
评论
0/150
提交评论